使用 ASP.NET 创建的 XML Web 服务的概述
2006-05-06 16:35
906 查看
ASP.NETWeb服务
ASP.NET使用.asmx文件提供Web服务支持。.asmx文件是类似于.aspx文件的文本文件。这些文件是包含.aspx文件的ASP.NET应用程序的一部分。与.aspx一样,这些文件是URI可寻址的。
以下示例说明了一个非常简单的.asmx文件。
此文件的开始是一条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创建代理类。例如,您可以输入:
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服务执行数据绑定操作,这个主题在"数据"一节中讨论。
相关文章推荐
- 使用 ASP.NET 创建的 XML Web 服务的概述
- 使用 ASP.NET 创建的 XML Web 服务的概述
- 使用 ASP.NET 所创建的 XML Web 服务的设计指南
- 使用 ASP.NET 所创建的 XML Web 服务与 XML Web 服务的客户端
- 使用 ASP.NET 创建的 XML Web 服务简介
- 保证使用 ASP.NET 创建的 XML Web 服务的安全
- 使用 ASP.NET 创建的 XML Web 服务的设计指南
- 演练:在 Visual Web Developer 中创建和使用 ASP.NET Web 服务------Web Service
- ASP.NET创建Web服务之使用事务
- ASP.NET创建Web服务之XML基础结构
- ASP.NET创建Web服务之使用事务
- 使用 ASP.NET 创建 XML Web services 不支持多维数组
- MattPowell介绍了如何在服务器端使用异步Web方法,来创建高性能的 Microsoft ASP.NET Web 服务
- ASP.NET创建Web服务之使用事务
- ASP.NET创建Web服务之使用事务
- 35:ASP.NET复习系列- web服务-web服务的创建和使用
- ASP.NET创建Web服务之XML基础结构(转)
- ASP.NET+XML Web服务客户端创建Web服务
- ASP.NETXMLWeb服务客户端创建Web服务
- SEO_ASP.net SEO优化(包含URL地址重写\viewState移动和压缩至服务器\SEO信息XML生成_根据URL地址重写文件)\web网站内容压缩 源码公开.本人授权可使用于商业项目。