我主要参考了这篇文章 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)
如下图
时间: 2024-10-05 21:07:17