有谁知道站点或页面,或者知道 HTTPModule 事件执行的 HTTPApplication 类事件的执行顺序?
我找到了所有事件的MSDN 文档,但它没有显示流程步骤列表,我也找不到。
有谁知道站点或页面,或者知道 HTTPModule 事件执行的 HTTPApplication 类事件的执行顺序?
我找到了所有事件的MSDN 文档,但它没有显示流程步骤列表,我也找不到。
也许这有帮助
http://support.microsoft.com/kb/307985/en-us/
HttpApplication 类提供了许多模块可以与之同步的事件。以下事件可供模块在每个请求上同步。这些事件按顺序列出:
以下事件可用于模块同步每个请求传输。这些事件的顺序是不确定的。
有关完整信息,请参阅文章。
MSDN 库文档:
以下是 ASP.NET 4.0 请求管道中的事件(粗体)和其他步骤:
- 验证请求,它检查浏览器发送的信息并确定它是否包含潜在的恶意标记。
- 如果在 Web.config 文件的 UrlMappingsSection 部分中配置了任何 URL,则执行 URL 映射。
- 引发BeginRequest事件。
- 引发AuthenticateRequest事件。
- 引发PostAuthenticateRequest事件。
- 引发AuthorizeRequest事件。
- 引发PostAuthorizeRequest事件。
- 引发ResolveRequestCache事件。
- 引发PostResolveRequestCache事件。
- [IIS 5.0/6.0]根据请求资源的文件扩展名(映射在应用程序的配置文件中),选择一个实现IHttpHandler的类来处理请求。如果请求是针对从 Page 类派生的对象(页面)并且需要编译页面,则 ASP.NET 在创建页面实例之前编译页面。[IIS 7.0]引发MapRequestHandler事件。根据所请求资源的文件扩展名选择适当的处理程序。处理程序可以是本机代码模块,例如 IIS 7.0 StaticFileModule,也可以是托管代码模块,例如 PageHandlerFactory 类(处理 .aspx 文件)。
- 引发PostMapRequestHandler事件。
- 引发AcquireRequestState事件。
- 引发PostAcquireRequestState事件。
- 引发PreRequestHandlerExecute事件。
- 为请求调用相应 IHttpHandler 类的 ProcessRequest 方法(或异步版本 IHttpAsyncHandler.BeginProcessRequest)。例如,如果请求是针对某个页面的,则当前页面实例会处理该请求。
- 引发PostRequestHandlerExecute事件。
- 引发ReleaseRequestState事件。
- 引发PostReleaseRequestState事件。
- 如果定义了 Filter 属性,则执行响应过滤。
- 引发UpdateRequestCache事件。
- 引发PostUpdateRequestCache事件。
- [IIS 7.0]引发LogRequest事件。
- [IIS 7.0]引发PostLogRequest事件。
- 引发EndRequest事件。
- 引发PreSendRequestHeaders事件。
- 引发PreSendRequestContent事件。
注意:仅当应用程序在 IIS 7.0 和 .NET Framework 3.0 或更高版本中以集成模式运行时,才支持 MapRequestHandler、LogRequest 和 PostLogRequest 事件。
接受的答案已过时。以下是根据文档提出的事件列表:
开始请求
验证请求
PostAuthenticateRequest
授权请求
PostAuthorizeRequest
解析请求缓存
PostResolveRequestCache
在 PostResolveRequestCache 事件之后和 PostMapRequestHandler 事件之前,会创建一个事件处理程序(即与请求 URL 对应的页面)。当服务器以集成模式运行 IIS 7.0 并且至少运行 .NET Framework 3.0 版时,会引发 MapRequestHandler 事件。当服务器以经典模式或早期版本的 IIS 运行 IIS 7.0 时,无法处理此事件。
PostMapRequestHandler
获取请求状态
PostAcquireRequestState
PreRequestHandlerExecute
PostRequestHandlerExecute
释放请求状态
PostReleaseRequestState
更新请求缓存
PostUpdateRequestCache
日志请求
PostLogRequest
结束请求