ASP.NET交互模式
1. 概述 本文简单的讨论ASP.NET处理的数据处理的可能方式。
2. ASP.NET的交互模式 2.1. HttpModule
是指实现了IHttpModule接口的类。
IHttpModule接口很简单,只有两个方法。在Web.Config中配置好HttpModule后,在Web服务器启动期间,模块会被调用,负责调用HttpModule的是HttpApplication的一个对象,代表Web的应用服务程序。 一般,会在Init方法的实现中,挂接自己关心的HttpApplication事件,以便过滤HttpApplication处理的每个请求。
2.2. HttpHandler
是指实现了IHttpHandler和IHttpAsyncHandler接口的类。
这两个接口代表一个特定的请求。
在Web.config中配置好HttpHandler之后,HttpApplication会将符合过滤条件的请求转发给对应的
HttpHandler。实际上*.aspx的请求就是通过HttpHandler处理的,只不过这个HttpHandler是系统预定义和已经缺省配置好的。
2.3. PostBack
ASP.NET框架提供的一种基本能力就是PostBack处理,是指一个页面在客户触发控件事件后,将页面(Form)数据收集,并通过HTTP_POSTBACK方式将数据回送服务器的处理方式。
在客户端呈现的页面上,ASP.NET生成了__doPostBack方法,用来控制PostBack过程。
传递参数使用了__EVENTTARGET和__EVENTARGUMENT两个hidden field。
在ASP.NET服务器端,根据POSTBACK的URL,创建ASP.NET页面,并根据回传的__EVENTTARGET中的ID,找到对应的控件,然后调用控件的回送事件的处理方法。
Page类的ProcessPostData方法中,处理PostBack的处理请求,代码片断如下:
这个方法通过PostBack的目标控件(Control)的PostBackDataHandler和PostBackEventHandler属性(按次序)来处理PostBack的请求。
Page类通过RaisePostBackEvent方法来触发PostBack请求,将事件传递到目标控件。
ASPNET的各种交互方式分析



