阅读 70

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应用程序的输出缓冲是如何设置的。 

原文:https://www.cnblogs.com/jmllc/p/14943411.html

文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐