WebMethod框架:实现Web服务的更高效方法

WebMethod框架:实现Web服务的更高效方法

关键词: WebMethod

  在 Microsoft .NET 中,目前有两种截然不同的方法来实现基于 HTTP 的 Web 服务。第一种同时也是最低级的方法是编写一个自定义 IHttpHandler 类并将它插入到 .NET HTTP 管道中。这种方法要求您使用 System.Web API 来处理传入的 HTTP 消息,使用 System.Xml API 来处理在 HTTP 主体中找到的 SOAP 封装。编写自定义处理程序还要求您手动编写一个精确描述您的实现的 WSDL 文档。要正确地做好这一切,需要对 XML、XSD、SOAP 和 WSDL 规范有深入的了解,但这个先决条件使大多数人望而却步。

  实现 Web 服务的一种更高效的方法是使用 Microsoft ASP.NET WebMethod框架。ASP.NET 为 .asmx 终结点附带了一个特殊的 IHttpHandler 类(名为 WebServiceHandler),该类提供您所需的可反复套用的 XML、XSD、SOAP 和 WSDL 功能。由于 WebMethod 框架使您从复杂的基础 XML 技术中解脱出来,因此您可以将精力迅速集中到手头的业务问题上。

灵活性和工作效率之间的折中

 

  图 1. 灵活性和工作效率之间的折衷

  在实现技术之间进行选择就会形成如图 1 中所示的灵活性和工作效率之间常见的折衷。编写自定义的 IHttpHandler 会为您提供极大的灵活性,但却要花大量的时间来编写、测试和调试代码。WebMethod 框架使迅速生成和运行 Web 服务变得非常轻松,但是您无疑将受到该框架边界的限制。但是,如果 WebMethod框架不能完全满足您的需要,也可以通过添加自己的额外功能来扩展该框架。

  WebMethod框架

  WebMethod框架围绕将 SOAP 消息映射到 .NET 类上的方法来设计。这通过首先用在 System.Web.Services \命名空间中找到的 [WebMethod] 属性批注您的方法来完成。例如,下面的 .NET 类包含四种方法,其中的两种方法用 [WebMethod] 属性进行批注:

  

  1. using System.Web.Services;  
  2. publicclass MathService  
  3. {  
  4. [WebMethod]  
  5. publicdouble Add(double x, double y) {  
  6. return
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值