HttpModule订阅管道事件

一、事件执行顺序

HttpModule订阅管道事件

二、事件发生时机说明

自定义的托管模块HttpModule可以向System.Web.HttpApplication对象注册下面一系列事件:

  AcquireRequestState 当ASP.NET运行时准备好接收当前HTTP请求的对话状态的时候引发这个事件。

  AuthenticateRequest 当ASP.NET 运行时准备验证用户身份的时候引发这个事件。

  AuthorizeRequest 当ASP.NET运行时准备授权用户访问资源的时候引发这个事件。

  BeginRequest 当ASP.NET运行时接收到新的HTTP请求的时候引发这个事件。

  Disposed 当ASP.NET完成HTTP请求的处理过程时引发这个事件。

  EndRequest 把响应内容发送到客户端之前引发这个事件。

  Error 在处理HTTP请求的过程中出现未处理异常的时候引发这个事件。

  PostRequestHandlerExecute 在 HttpHandler 结束执行的时候引发这个事件。

  PreRequestHandlerExecute 在ASP.NET开始执行HTTP请求的 HttpHandler 之前引发这个事件。在这个事件之后,ASP.NET 把该请求转发给适当的 HttpHandler 。

  PreSendRequestContent 在ASP.NET把响应内容发送到客户端之前引发这个事件。这个事件允许我们在内容到达客户端之前改变响应内容。我们可以使用这个事件给页面输出添加用于所有页面的内容。例如通用菜单、头信息或脚信息。

  PreSendRequestHeaders 在ASP.NET把HTTP响应头信息发送给客户端之前引发这个事件。在头信息到达客户端之前,这个事件允许我们改变它的内容。我们可以使用这个事件在头信息中添加cookie和自定义数据。

  ReleaseRequestState 当ASP.NET结束所有的请求处理程序执行的时候引发这个事件。

  ResolveRequestCache 我们引发这个事件来决定是否可以使用从输出缓冲返回的内容来结束请求。这依赖于Web应用程序的输出缓冲时怎样设置的。

  UpdateRequestCache 当ASP.NET完成了当前的HTTP请求的处理,并且输出内容已经准备好添加给输出缓冲的时候,引发这个事件。这依赖于Web应用程序的输出缓冲是如何设置的。 

HttpModule订阅管道事件

上一篇:[PHP] 解决TP5 出现错误 "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"?


下一篇:AI平台-AutoML-2019年几个靠谱的AutoML框架