您的位置:首页 > 编程语言 > ASP

使用 ASP.NET 创建的 XML Web 服务的概述

2006-05-06 16:35 906 查看
ASP.NETWeb服务
ASP.NET使用.asmx文件提供Web服务支持。.asmx文件是类似于.aspx文件的文本文件。这些文件是包含.aspx文件的ASP.NET应用程序的一部分。与.aspx一样,这些文件是URI可寻址的。
以下示例说明了一个非常简单的.asmx文件。
<%@WebServiceLanguage="C#"Class="HelloWorld"%>


usingSystem;

usingSystem.Web.Services;


publicclassHelloWorld:WebService{


[WebMethod]publicStringSayHelloWorld(){

return"HelloWorld";

}


}

此文件的开始是一条ASP.NET指令WebService,然后将语言设置为C#、VisualBasic或JScript。接着,它导入命名空间System.Web.Services。您必须包括此命名空间。接下来,声明HelloWorld类。此类是从基类WebService派生的(说明:从WebService基类派生是可选的)。最后,使可以作为服务的一部分进行访问的所有方法都在其签名的前面设置属性(在C#中为[WebMethod],在VisualBasic中为<WebMethod()>,在JScript中为WebMethodAttribute)。
为使此服务可用,我们可以将该文件命名为HelloWorld.asmx,并将其放置到名为SomeDomain.com的服务器上名为someFolder的虚拟目录内。使用Web浏览器,然后就可以输入URLhttp://SomeDomain.com/someFolder/HelloWorld.asmx,生成的页将显示此Web服务(用WebMethod属性标记的服务)的公共方法,以及可用来调用这些方法的协议(例如SOAP或HTTPGET)。
将地址http://SomeDomain.com/someFolder/HelloWorld.asmx?WSDL输入到浏览器中,这将返回一个Web服务描述语言(WSDL)文档。此WSDL文档非常重要,并且不能由访问该服务的客户端使用。
访问Web服务
除了ASP.NET服务器端的技术允许开发人员创建Web服务之外,.NET框架还提供了一组高级的工具和代码来使用Web服务。因为Web服务基于开放式协议(如简单对象访问控件(SOAP)),所以该客户端技术也可以用于使用非ASP.NETWeb服务。
在SDK中,有一个名为Web服务描述语言工具(WSDL.exe)的工具。此命令行工具用于从WSDL创建代理类。例如,您可以输入:
WSDL'target='_blank'>http://someDomain.com/someFolder/HelloWorld.asmx?WSDL[/code]来创建一个名为HelloWorld.cs的代理类。
此类与在前一节中创建的类非常相似。它将包含一个返回字符串的名为SayHelloWorld的方法。将此代理类编译到一个应用程序中,然后调用此代理类的方法,这样将生成一个代理类。生成的代理类将通过HTTP包装SOAP请求并接收以SOAP方式编码的响应(随后将该响应作为字符串封送)。
从客户端的角度来看,代码简单明了,如下例所示。
HelloWorldmyHelloWorld=newHelloWorld();

StringsReturn=myHelloWorld.SayHelloWorld();

Thereturnwouldbe"HelloWorld".
本节的余下部分将讨论更高级的Web服务主题,例如发送和接收复杂数据类型。还有一节将讲述文本模式匹配,这是一种针对任何URI的技术,它将文本作为Web服务返回。您还可以使用Web服务执行数据绑定操作,这个主题在"数据"一节中讨论。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: