asp.net页面生命周期

浏览器向服务器的整体请求过程:

1、当浏览器通过网络访问服务器,由服务器软件接收到请求(IIS)。
2、服务器软件发现处理不了这种后缀的文件,就通过映射表,将请求转交给了服务器扩展程序中的一个叫ASP.NET_ISAPI.DLL的程序。
3、可扩展程序又将请求交给网站程序,网站程序调用HttpRuntime类的静态方法处理请求
4、HttpRuntime类,处理所有请求,他的工作: 4.1、 象对应的属性中。 4.2、通过调用HttpApplicationFactory的类的一个静态方法创建HtpApplication对象。 4.3、创建HttpContext对象,此对象是当前请求的上下文环境,里面包含处理请求的所有参数数据。其中最重要的就是HttpRequest和HttpResponse两个类的对象。 4.3.1、HttpRequest主要是包含了所有的请求信息,这些信息来源于HttpWorkerRequest对象,对象中包含属性:Form(客户表单数据),QueryString(客户端url参数) 4.3.2、HttpResponse主要包含了TextWriter对象,用来保存页面类执行过程重要输出给浏览器的数据。 4.4、因为在HttpAplication里要运行请求的页面类对象里的ProcessRequest方法,所以,需要将HttpContext对象传入到HttpApplication中来。 ——IHtppHandler handler=通过反射方式创建的被请求页面类对象
5、执行HttpApplication的ProcessRequest方法(可以将此方法的指向过程看成是一个管道)此方法中,要先按照顺序执行19个委托事件: 5.1、在其中第八个事件时,创建被请求的页面类对象 5.2、在11到12事件之间,执行了被创建的页面类对象的ProcessRequest方法,再将页面类对象转成IHttpHandler接口对象。