架构师_程序员_码农网

查看: 105|回复: 0
打印 上一主题 下一主题

[ASP.NET] ASP.NET MVC HttpApplication 执行顺序

[复制链接]
跳转到指定楼层
楼主
发表于 2021-6-10 16:38:27 | 只看该作者
类的实例(Global继承自该类)是在 ASP.NET 基础结构中创建的,而不是由用户直接创建的。HttpApplication 类的一个实例在其生存期内被用于处理多个请求,但它一次只能处理一个请求。这样,成员变量才可用于存储针对每个请求的数据。

应用程序按照以下顺序执行由 global.asax 文件中定义的模块或用户代码处理的事件:

1、BeginRequest
(在 ASP.NET 响应请求时作为 HTTP 执行管线链中的第一个事件发生)

2、AuthenticateRequest
(当安全模块已建立用户标识时发生。注:AuthenticateRequest 事件发出信号表示配置的身份验证机制已对当前请求进行了身份验证。 预订 AuthenticateRequest 事件可确保在处理附加的模块或事件处理程序之前对请求进行身份验证。)

3、PostAuthenticateRequest
(注意:该事件在 .NET Framework 2.0 版中是新增的。 当安全模块已建立用户标识时发生。 PostAuthenticateRequest 事件在 AuthenticateRequest 事件发生之后引发。预订 PostAuthenticateRequest 事件的功能可以访问由 PostAuthenticateRequest 处理的任何数据。)

4、AuthorizeRequest
(当安全模块已验证用户授权时发生。AuthorizeRequest 事件发出信号表示 ASP.NET 已对当前请求进行了授权。 预订 AuthorizeRequest 事件可确保在处理附加的模块或事件处理程序之前对请求进行身份验证和授权。)

5、PostAuthorizeRequest
(.NET 2.0里新增的事件。在当前请求的用户已获授权时发生。PostAuthorizeRequest 事件发出信号表示 ASP.NET 已对当前请求进行了授权。预订PostAuthorizeRequest 事件可确保在处理附加的模块或处理程序之前对请求进行身份验证和授权。)

6、ResolveRequestCache
(当 ASP.NET 完成授权事件以使缓存模块从缓存中为请求提供服务时发生,从而跳过事件处理程序(例如某个页或 XML Web ervices)的执行。)

7、PostResolveRequestCache
(在 ASP.NET 跳过当前事件处理程序的执行并允许缓存模块满足来自缓存的请求时发生。)在 PostResolveRequestCache 事件之后、PostMapRequestHandler
事件之前创建一个事件处理程序(对应于请求 URL 的页)。

8、PostMapRequestHandler
在 ASP.NET 已将当前请求映射到相应的事件处理程序时发生

9、AcquireRequestState
当 ASP.NET 获取与当前请求关联的当前状态(如会话状态)时发生

10、PostAcquireRequestState
在已获得与当前请求关联的请求状态(例如会话状态)时发生

11、PreRequestHandlerExecute
恰好在 ASP.NET 开始执行事件处理程序(例如,某页或某个 XML Web services)前发生

12、PostRequestHandlerExecute
在 ASP.NET 事件处理程序(例如,某页或某个 XML Web service)执行完毕时发生

13、ReleaseRequestState
在 ASP.NET 执行完所有请求事件处理程序后发生。该事件将使状态模块保存当前状态数据。

14、PostReleaseRequestState
在 ASP.NET 已完成所有请求事件处理程序的执行并且请求状态数据已存储时发生。

15、UpdateRequestCache
当 ASP.NET 执行完事件处理程序以使缓存模块存储将用于从缓存为后续请求提供服务的响应时发生。

16、PostUpdateRequestCache
在 ASP.NET 完成缓存模块的更新并存储了用于从缓存中为后续请求提供服务的响应后,发生此事件。

17、EndRequest
在 ASP.NET 响应请求时作为 HTTP 执行管线链中的最后一个事件发生。

代码如下:





上一篇:Nginx 实现 TCP(FTP)代理转发
下一篇:“Content-Security-Policy”头缺失或不安全漏洞
帖子永久地址: 

架构师_程序员_码农网 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
2、本站所有主题由该帖子作者发表,该帖子作者与架构师_程序员_码农网享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和架构师_程序员_码农网的同意
4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、架构师_程序员_码农网管理员和版主有权不事先通知发贴者而删除本文

码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2021-6-25 16:51

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表