ASP.NET Application Life Cycle for IIS 5.0 and 6.0

the application 生命周期有以下阶段:

    1.  用户从web服务器发起一个application源:

         描述:asp.net application起源于一个浏览器向web服务器(通常是IIS)发起请求,asp.net是web服务器下ISAPI的扩展。当web服务器收到请求,它检查请求文件名后缀,来决定哪一个ISAPI扩展程序来处理请求,后来通过请求发到根据asp.net handle文件名后缀对应适当的ISAPI扩展程序处理,例如aspx,ascx,ashx,和asmx

    2.  asp.net服务器接受第一次请求:

         描述:当asp.net服务器接收到任何文件的第一次请求,applicationManager创建一个application domain,application domain提供application和全局变量联系和允许每个application独立的卸下。在一个 application domain里,

一个叫做提供application例如application储存信息的hostingEnvironment类的实例被创建.

   3.  asp.net为每一个请求创建核心对象:

        描述:在application domain 和 hostingEnvironment类被实例化后,asp.net创建httpcontext,httprequest,

httpresponse核心对象。httprequest核心对象包含当前请求信息,包括Cookies和浏览器信息。httpresponse核心对象是返回包含所有呈现和cookie的信息给客户端的.

   4. 一个httpapplication被指派给一个请求:

         描述: 初始化所有核心对象后,application开始创建一个httpapplication实例,如果这个httpapplication有一个global.asax文件,asp.net代替创建来自httpapplication的global.asax类的实例并用这个实例去代表httpapplication。

   5. 请求被httpapplication管道处理:

       描述:请求通过httpapplication类时下面的事件被执行。

       5.1.验证请求,检查通过浏览器发送的信息和决定是否它包含潜在的恶毒文件。

       5.2. 执行URL反射,如果任何URLS已经在web.config文件的UrlMappingsSection段配置。

   5.3. 执行BeginRequest 事件。

       5.4. 执行AuthenticateRequest 事件。

   5.5. 执行PostAuthenticateRequest 事件。

   5.6. 执行AuthorizeRequest 事件。

   5.7. 执行PostAuthorizeRequest 事件。

   5.8. 执行ResolveRequestCache 事件。

   5.9. 执行PostResolveRequestCache 事件。

       5.10 基于请求源文件的后缀(在application的配置文件中),选择一个调用IHttpHandler的类去处理请求。如果请求一个page类或者继承page类,那么page类在创建实例的时候需要编译。

       5.11 执行PostMapRequestHandler 事件。

   5.12 执行AcquireRequestState 事件。

   5.13 执行PostAcquireRequestState 事件。

   5.14 执行PreRequestHandlerExecute 事件。

       5.15 调用合适的IHttpHandler 的ProcessRequest 方法(或者异步版本IHttpAsyncHandler..::.BeginProcessRequest)例如,如果请求是一个页面,当前页面实例处理请求。

       5.16  执行PostRequestHandlerExecute 事件。

       5.17  执行ReleaseRequestState 事件。

       5.18  执行PostReleaseRequestState 事件。

       5.19  执行response过滤如果过滤属性被设置。

       5.20  执行UpdateRequestCache 事件。

   5.21  执行PostUpdateRequestCache 事件。

   5.22  执行EndRequest 事件。

   5.23  执行PreSendRequestHeaders 事件。

   5.24  执行PreSendRequestContent 事件。

转载于:https://www.cnblogs.com/30763402/archive/2009/11/22/1608059.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值