你目前正处于脱机状态,正在等待 Internet 重新连接

HOW TO: 使用 Visual Basic .NET 编写简单的 Web 服务

本文的发布号曾为 CHS301273
概要
本文介绍如何编写一个简单的 Web 服务,叫做 MathService,它提供用于两个数的加减乘除运算的方法。

返回页首

要求

下面各项说明了推荐使用的硬件、软件、网络架构、技能和知识,以及所需的 Service Pack:
  • Microsoft Windows 2000 专业版、Windows 2000 Server、Windows 2000 Advanced Server 或 Windows NT 4.0 Server
  • Microsoft Internet Information Server 4.0 或 Internet Information Server 5.0
  • Microsoft Visual Studio .NET
本文假定您已经理解下列知识:
  • 如何使用 Visual Studio .NET 集成开发环境
返回页首

编写一个简单的 .asmx Web 服务

  1. 打开 Visual Studio .NET。
  2. 创建一个新的 Active Server Pages (ASP) .NET Web 服务项目。 将该 Web 服务命名为 MathService,并在必要时将其位置指定为一个适当的运行 ASP.NET 的 Web 服务器。
  3. 将 Solution 文件的名称改为 MathService 以保持一致。
  4. 将用 Service1.asmx 创建的默认 Web 服务的名称更改为 MathService.asmx
  5. 单击设计环境中的单击此处切换到代码视图以切换到代码视图。
  6. 定义用来封装您的服务功能的方法。 此服务提供的每一个方法前面都必须标有一个 WebMethod 属性。如果没有此属性,则服务将不公开此方法。

    备注: 并不是每一个方法都需要有 WebMethod 属性。 隐藏由公用 Web 服务方法调用的某些实现细节是很有用的,在本地应用程序也使用 WebService 类的情况下,也需要隐藏某些实现细节。 本地应用程序可以使用任何公用类,但只有具有 WebMethod 属性的方法可以作为 Web 服务远程访问。

    将下面的代码添加到您在前面创建的 MathServices 类:
    <WebMethod()> Public Function Add(a As Integer, b As Integer) As Integer   Return(a + b)End Function<WebMethod()> Public Function Subtract(A As System.Single, B As System.Single) As System.Single       Return A - BEnd Function<WebMethod()> Public Function Multiply(A As System.Single, B As System.Single) As System.Single       Return A * BEnd Function<WebMethod()> Public Function Divide(A As System.Single, B As System.Single) As System.SingleIf B = 0Return -1End IfReturn Convert.ToSingle(A / B)End Function
  7. 生成 Web 服务: 从生成菜单中,选择生成
  8. 可通过转至 MathService.asmx Web 服务页来测试此 Web 服务。 如果您的页面放置在本地计算机上,那么 URL 将是 http://localhost/MathService/MathService.asmx。

    运行时 ASP.NET 将返回一个 Web 服务帮助页来说明此 Web 服务。 此页还让您能够测试不同的 Web 服务方法。
返回页首

使用 Web 服务

  1. 打开 Visual Studio .NET。
  2. 新建一个控制台应用程序项目。
  3. 将 MathService Web 服务的一个引用添加到此新的控制台应用程序中。

    此步骤将在客户机上创建一个代理类。有了代理类后,就可以创建基于该类的对象了。于是,该对象的每一个方法调用都将转到 Web 服务的统一资源标识符 (URI)(通常作为 SOAP 请求)。
    1. 项目菜单中,选择添加 Web 引用
    2. 添加 Web 引用对话框的地址文本框中,键入该 Web 服务的 URL,然后按 ENTER 键。 如果您设置让本地计算机提供此 Web 服务,则 URL 将是 http://localhost/MathService/MathService.asmx。
    3. 选择添加引用
    4. 展开 Solution Explorer(工程管理器) Web 引用部分,记下所用的命名空间。
  4. 创建已创建的代理对象的一个实例。 将下面的代码放到 Module1 模块的 Main 过程中:
    Dim myMathService As localhost.MathService = New localhost.MathService()
  5. 调用上一步创建的代理对象的一个方法:
    Console.Write("2 + 4 = {0}", myMathService.Add(2,4))
  6. 关闭并保存项目。
返回页首

参考

用 Web 服务进行 Web 编程(Visual Studio .NET 帮助)

ASP.NET Web 服务和 ASP.NET Web 服务客户机(Microsoft .NET 框架开发指南)

Web 服务基础,MSDN 联机库: 卓越的 XML: 启用 XML Web 服务的 Office 文档(MSDN 之音专栏): 卓越的 XML:UDDI: 一种 XML Web 服务(MSDN 之音专栏): Web服务描述语言工具 (Wsdl.exe)(Microsoft .NET 框架工具)

从 DHTML 访问 Web 服务(MSDN 之音专栏): 返回页首
属性

文章 ID:301273 - 上次审阅时间:09/26/2006 06:43:00 - 修订版本: 3.0

Microsoft Windows 2000 Professional Edition, Microsoft Windows 2000 Server, Microsoft Windows 2000 Advanced Server, Microsoft Windows NT Server 4.0 Standard Edition, Microsoft Visual .NET 2002 标准版

  • kbhowto kbhowtomaster KB301273
反馈