ASP.net应用程序的生命周期

参考:《ASP.net生命周期详解》 https://www.cnblogs.com/xiao-bei/p/5165884.html
 
Asp.Net生命周期大致由五大阶段构成:分别是:发出请求,接受请求,为每个请求创建核心对象,将HttpApplication对象分配给请求,由HttpApplication管线处理请求。
  • Asp.Net应用程序生命周期以浏览器向Web服务器(IIS)发送请求为起点。Web服务器接收到请求时,会对所请求文件的文件扩展名进行检查,确定应该由哪一个ISAPI扩展(Asp.Net是Web服务器下的一个ISAPI扩展)来处理请求,并传递给它(这里指Asp.Net)。Asp.Net处理已映射到其上的文件扩展名(.aspx,.ascx,ashx,asmx…)。
  • Asp.Net接收到应用程序中任何资源的第一个请求时,ApplicationManager这个类会创建一个应用程序域,并创建HostingEnviroment这个类的实例来提供有关应用程序的信息。
  • Asp.Net会为每个请求创建并初始化核心对象(HttpContext,HttpRequest,HttpResponse)。
  • Asp.Net初始化所有核心对象之后,将通过创建HttpApplication类的实例来启动应用程序,如果应用程序有Global.asax文件,则Asp.Net会创建Global.asax类的一个实例,并使用该派生类来表示应用程序。
  • 最后由HttpApplication管线来处理请求。
应用程序域是由CLR强制的一个边界,用来保证应用程序不受其他程序的影响。
 
通过下面三张图来详细了解ASP.net生命周期:
说明:
1  第一张图片从全局说明从客户端发出一个Request请求,服务器windows内核中的HTTP.SYS组件接收该请求开始到IIS处理完该请求并响应到客户端结束。
2  第二张图片为图1中Http处理管线的详细步骤
3  第三张图片为图2Http处理管线中调用处理程序(HttpHandler,  此处为Page对象)的详细生命周期过程。
图2:  Http处理管线详解
图3:  Asp.Net生命周期详解(WebForm的情况)
posted @ 2019-10-02 11:30  gaoyang'Blog  阅读(158)  评论(0编辑  收藏  举报