[生命周期] IIS 5.0、IIS 6.0、IIS 7.0 下 ASP.NET 应用程序生命周期
[生命周期] IIS 5.0、IIS 6.0、IIS 7.0 下 ASP.NET 应用程序生命周期
前言:




| 部分 | Event事件 | Description描述 |
HttpModule |
BeginRequest |
在 ASP.NET 响应请求时作为 HTTP 执行管线链中的第一个事件发生。BeginRequest 事件发出信号表示创建任何给定的新请求。此事件始终被引发,并且始终是请求处理期间发生的第一个事件。 |
HttpModule |
AuthenticateRequest |
当安全模块已建立用户标识时发生。AuthenticateRequest 事件发出信号表示配置的身份验证机制已对当前请求进行了身份验证。 |
HttpModule |
AuthorizeRequest |
安全模块已验证用户授权时发生。AuthorizeRequest 事件发出信号表示 ASP.NET 已对当前请求进行了授权。 |
HttpModule |
ResolveRequestCache |
在 ASP.NET 完成授权事件以使缓存模块从缓存中为请求提供服务后发生,从而绕过事件处理程序(例如某个页或 XML Web services)的执行。 |
HttpModule |
AcquireRequestState |
当 ASP.NET 获取与当前请求关联的当前状态(如会话状态)时发生。AcquireRequestState 事件在创建了事件处理程序之后引发。 |
HttpModule |
PreRequestHandlerExecute |
恰好在 ASP.NET 开始执行事件处理程序(例如,某页或某个 XML Web services)前发生。 |
HttpHandler |
ProcessRequest |
Httphandler逻辑被执行。 在本节中,我们会写,需要将每页扩展执行的逻辑。 |
Page |
Init |
OnInit 方法执行创建 Page 实例所需的初始化和设置步骤。在页生命周期的此阶段中,页中声明的服务器控件都已初始化为默认状态;但每个控件的视图状态尚未填充。在 Page_Init 阶段中,页中的控件不能访问该页的其他服务器控件,无论其他控件是子控件还是父控件。不一定会创建其他服务器控件,也不一定能够访问它们 |
Page |
Load |
ASP.NET控件完成加载,你写的UI操作逻辑或任何其他逻辑在这里。 |
Page |
Validate |
如果你有你的页面上有验证逻辑,这里检查是否符合验证。 |
Render |
将页面最终的输出发送到浏览器,如果你想做出一些最终的HTML的变化,这是输出到浏览器,你可以在这里输入你的HTML的逻辑。 | |
Page |
Unload |
页面对象从内存中卸载。 |
HttpModule |
PostRequestHandlerExecute |
在 ASP.NET 事件处理程序(例如,某页或某个 XML Web service)执行完毕时发生。 |
HttpModule |
ReleaserequestState |
在 ASP.NET 执行完所有请求事件处理程序后发生。该事件将使状态模块保存当前状态数据。引发ReleaseRequestState 事件以后,应用程序以该请求结束,并发出 ASP.NET 信号以存储该请求状态。 |
HttpModule |
UpdateRequestCache |
Before you end, if you want to update your cache.结束之前,如果您想更新您的高速缓存。 |
HttpModule |
EndRequest |
当 ASP.NET 执行完事件处理程序以使缓存模块存储将用于从缓存为后续请求提供服务的响应时发生。 |
-
对请求进行验证,将检查浏览器发送的信息,并确定其是否包含潜在恶意标记。有关更多信息,请参见 ValidateRequest和脚本侵入概述。
-
如果已在 Web.config 文件的 UrlMappingsSection 节中配置了任何 URL,则执行 URL 映射。
-
引发 BeginRequest 事件。
-
引发 AuthenticateRequest 事件。
-
引发 PostAuthenticateRequest 事件。
-
引发 AuthorizeRequest 事件。
-
引发 PostAuthorizeRequest 事件。
-
引发 ResolveRequestCache 事件。
-
引发 PostResolveRequestCache 事件。
-
引发 MapRequestHandler 事件。将根据所请求资源的文件扩展名,选择相应的处理程序。处理程序可以是本机代码模块,如 IIS 7.0StaticFileModule,也可以是托管代码模块,如 PageHandlerFactory 类(它处理 .aspx 文件)。
-
引发 PostMapRequestHandler 事件。
-
引发 AcquireRequestState 事件。
-
引发 PostAcquireRequestState 事件。
-
引发 PreRequestHandlerExecute 事件。
-
为该请求调用合适的 IHttpHandler 类的 ProcessRequest 方法(或异步版IHttpAsyncHandler.BeginProcessRequest)。例如,如果该请求针对某页,则当前的页实例将处理该请求。
-
引发 PostRequestHandlerExecute 事件。
-
引发 ReleaseRequestState 事件。
-
引发 PostReleaseRequestState 事件。
-
如果定义了 Filter 属性,则执行响应筛选。
-
引发 UpdateRequestCache 事件。
-
引发 PostUpdateRequestCache 事件。
-
引发 LogRequest 事件。
-
引发 PostLogRequest 事件。
-
引发 EndRequest 事件。
-
引发 PreSendRequestHeaders 事件。
-
引发 PreSendRequestContent 事件。

浙公网安备 33010602011771号