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

文章翻译 文章翻译
文章编号: 301273 - 查看本文应用于的产品
本文的发布号曾为 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 - B
    End Function
    
    <WebMethod()> Public Function Multiply(A As System.Single, B As System.Single) As System.Single
           Return A * B
    End Function
    
    <WebMethod()> Public Function Divide(A As System.Single, B As System.Single) As System.Single
    If B = 0
    Return -1
    End If
    Return 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 联机库:
http://msdn.microsoft.com/library/default.asp?URL=/library/techart/Webservicesessentials.htm
卓越的 XML: 启用 XML Web 服务的 Office 文档(MSDN 之音专栏):
http://msdn.microsoft.com/library/welcome/dsmsdn/xml03192001.htm
卓越的 XML:UDDI: 一种 XML Web 服务(MSDN 之音专栏):
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnexxml/html/xml12182000.asp
Web服务描述语言工具 (Wsdl.exe)(Microsoft .NET 框架工具)

从 DHTML 访问 Web 服务(MSDN 之音专栏):
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndude/html/dude01222001.asp

属性

文章编号: 301273 - 最后修改: 2006年9月26日 - 修订: 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
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com