首页 > 代码库 > ASP.NET的生命周期

ASP.NET的生命周期

我主要参考了这篇文章 ASP.NET应用程序与页面生命周期

1.用户从浏览器发送请求到web服务器中,服务器检查请求的扩展名,确定由哪个ISAPI扩展处理该请求。

   .aspx、.ascx、.ashx 和 .asmx这类被映射到其上,就可以被ASP.NET处理。

 

2.ASP.NET收到任何资源的第一个请求时,ApplicationManager类会创建一个应用程序域。然后在应用程序域中,会为HostingEnvironment类创建一个实例。

  应用程序域为全局变量提供应用程序隔离,并允许单独卸载每个应用程序。

  该实例提供对有关应用程序的信息(如存储该应用程序的文件夹的名称)的访问。

 

3.HostingEnvironment类创建实例以后,ASP.NET会创建和初始化核心对象,比如HttpContext,HttpRequest,HttpResponse。

 

4.初始化核心以后,通过HttpApplication类的实例启动应用程序。

  如果应用程序具有 Global.asax 文件,则 ASP.NET 会创建 Global.asax 类(从 HttpApplication 类派生)的一个实例,并使用该派生类表示应用程序

以上4步如下图

技术分享

 

5.由HttpApplication管线处理请求MHPM(Module, handler, page and Module event)

如下图

技术分享

 

ASP.NET的生命周期