惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Microsoft Azure Blog
Microsoft Azure Blog
WordPress大学
WordPress大学
Google DeepMind News
Google DeepMind News
美团技术团队
大猫的无限游戏
大猫的无限游戏
H
Help Net Security
小众软件
小众软件
aimingoo的专栏
aimingoo的专栏
博客园 - 聂微东
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
M
MIT News - Artificial intelligence
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - Franky
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Microsoft Security Blog
Microsoft Security Blog
F
Fortinet All Blogs
A
About on SuperTechFans
Recent Announcements
Recent Announcements
D
Docker
Vercel News
Vercel News
Engineering at Meta
Engineering at Meta
腾讯CDC
Martin Fowler
Martin Fowler
阮一峰的网络日志
阮一峰的网络日志

博客园 - 枫崖

操作系统引导 win7 安装arcgis后出现问题解决方案 VS2010 MSDN VIM 入门(转载) Visual Studio 2010 添加vim支持 删除svn版本信息 - 枫崖 - 博客园 ArcGIS Server中创建ao对象的CLSID如何获得 使用python查询中文汉字的Unicode C++中动态链接库的一些概念及入门(2) C++中动态链接库的一些概念及入门(1) Ubuntu 系统下终端快捷键设置 配置MapServer出现的一些问题及解决办法 yyyy-MM-dd日期正则表达式 未能加载文件或程序集“***”或它的某一个依赖项。拒绝访问。 mssql中sp_executesql和Exexute Win7 打开或关闭Windows功能 窗口空白 解决方案(转载) SQL Server 2008除去更新表失败的提示框 arcgis server 中使用iframepa包含地图页面 - 枫崖 对于将javascript嵌入到程序集中
有关IHttpModule与页面的执行顺序
枫崖 · 2010-03-04 · via 博客园 - 枫崖

  IHttpModule 是作为ASP.NET 应用程序生命周期的一个扩展接口,通过对其进行扩展可以在我们常用的aspx文件执行前后做一些通用的处理,比如验证用户或者配置权限。

  1. 对请求进行验证,将检查浏览器发送的信息,并确定其是否包含潜在恶意标记。
  2. 如果已在 Web.config 文件的 UrlMappingsSection 节中配置了任何 URL,则执行 URL 映射。
  3. 引发 BeginRequest 事件。
  4. 引发 AuthenticateRequest 事件。
  5. 引发 PostAuthenticateRequest 事件。
  6. 引发 AuthorizeRequest 事件。
  7. 引发 PostAuthorizeRequest 事件。
  8. 引发 ResolveRequestCache 事件。
  9. 引发 PostResolveRequestCache 事件。
  10. 根据所请求资源的文件扩展名(在应用程序的配置文件中映射),选择实现 IHttpHandler 的类,对请求进行处理。如果该请求针对从 Page 类派生的对象(页),并且需要对该页进行编译,则 ASP.NET 会在创建该页的实例之前对其进行编译。
  11. 引发 PostMapRequestHandler 事件。
  12. 引发 AcquireRequestState 事件。
  13. 引发 PostAcquireRequestState 事件。
  14. 引发 PreRequestHandlerExecute 事件。
  15. 为该请求调用合适的 IHttpHandler 类的 ProcessRequest 方法(或异步版 IHttpAsyncHandler..::.BeginProcessRequest)。例如,如果该请求针对某页,则当前的页实例将处理该请求。
  16. 引发 PostRequestHandlerExecute 事件。
  17. 引发 ReleaseRequestState 事件。
  18. 引发 PostReleaseRequestState 事件。
  19. 如果定义了 Filter 属性,则执行响应筛选。
  20. 引发 UpdateRequestCache 事件。
  21. 引发 PostUpdateRequestCache 事件。
  22. 引发 EndRequest 事件。
  23. 引发 PreSendRequestHeaders 事件。
  24. 引发 PreSendRequestContent 事件。

看到这么多茫茫然的事件,蒙了不知道是做什么的,也不知道与Page的执行顺序哪些事件在前哪些事件在后,于是做个小小的测试,可以发现在context_PostRequestHandlerExecute之前的一个步骤是进行自己页面编写的顺序,然后其前面则是优先于aspx页面先执行。

 image

posted @ 2010-03-04 13:21  枫崖  阅读(306)  评论()    收藏  举报