zoukankan      html  css  js  c++  java
  • 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 事件。

  • 相关阅读:
    并发编程之六:java并发工具包(java.util.concurrent)汇总介绍
    Interpreter(解释器)模式
    CSS样式
    一个相当好的自定义标签分页
    logback高级特性一
    Jenkins
    ifconfig命令
    持续集成工具hudson
    数据结构中常见的树(BST二叉搜索树、AVL平衡二叉树、RBT红黑树、B树、B+树、B*树)
    Java中"Test(Object...args){}"方法声明的理解——J2SE5的“Vararg
  • 原文地址:https://www.cnblogs.com/30763402/p/1608059.html
Copyright © 2011-2022 走看看