首页 > Web开发 > 详细

Asp.net处理程序(第六篇)

时间:2014-02-09 15:28:22      阅读:359      评论:0      收藏:0      [点我收藏+]

四、Web服务处理程序

  对于Web服务来说,标准的方式是使用SOAP协议,在SOAP中,请求和回应的数据通过XML格式进行描述。在Asp.net 4.0下,对于Web服务来说,还可以选择支持Ajax访问,因此,Web服务的处理程序变得有一些复杂。为了同时支持者两种类型的请求处理,在Asp.net 4.0下,处理程序工厂采用了两级的结构,首先,通过标准的处理程序工厂来取得服务的处理程序,其次,在内部根据请求的内容来取得实际的处理程序工厂,最终,取得处理请求的处理程序。

  bubuko.com,布布扣

  1、Web服务处理程序工厂

  在Asp.net 2.0中,对于Web服务的配置如下:

<add path="*.asmx" verb="*" type="System.Web.Services.Protocols.WebServiceHandlerFactory,System.Web.Services,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" validate="False" />

  在Asp.net 4.0中,为了同时兼顾在Ajax中对于Web服务的访问,系统中的Web服务修改为如下的配置形式:

<add path="*.asmx" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory,System.Web.Extensions,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e53" validate="False" />

  可以看到,Web服务处理程序工厂从WebServiceHandlerFactory变为了ScriptHandlerFactory。在ScriptHandlerFactory内部,定义了两个处理程序工厂。在ScriptHandlerFactory内部,当通过GetHandler方法获取一个处理程序对象实例的时候,将首先判断请求是否是一个REST请求,根据判断的结果来决定当前实际使用的处理程序工厂。

  REST表示表述性状态转移,定义了应该如下正确地使用Web标准,例如HTTP和URI。如果在设计应用程序时能坚持REST原则,那就预示着将会得到一个使用了优质Web架构的系统。

  2、使用Web服务处理程序

  对于Web服务的处理程序来说,每个Web服务将在服务器上创建一个对应的asmx扩展名的标记文件,例如,一个新创建的Web服务WebService1.asmx中可能包含如下的内容:

<% WebService Language="C#" CodeBehind="WebServicel.asmx.cs" Class="WebService1" %>

  在这个文件中,通过CodeBehind和Class说明了处理这个Web服务的代码文件和其中实现的Web服务的类名。

  当Web服务的处理工厂收到针对这个WebService1.asmx的请求的时候,将通过反射创建Class中说明的类的对象实例,并调用对应的方法完成服务的处理。

Asp.net处理程序(第六篇)

原文:http://www.cnblogs.com/kissdodog/p/3540397.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!