Asp.Net MVC 的19个管道事件
httpApplication调用ProcessRequest方法,内部执行19个管道事件,如下:
-
BeginRequest 开始处理请求
-
AuthenticateRequest 授权验证请求开始,获取用户授权信息
-
PostAuthenticateRequest 获取成功
-
AunthorizeRequest 授权,一般用来检查用户是否获得权限
-
PostAuthorizeRequest 获得授权
-
ResolveRequestCache 获取页面缓存结果(如果没有则执行)
-
PostResolveRequestCache 已缓存
-
PostMapRequestHandler 创建页面对象
-
AcquireRequestState 获取Session --先判断当前页面是否实现了IRequiresSessionState接口,如果实现了,就从浏览器发来的请求报文中获取SessionId,并到服务器的Session池中获得对应的Session对象,最后赋值给HttpContext的Session属性。
-
PostAcquireRequestState 获得Session
-
PreRequestHandlerExecute 准备执行页面对象,执行页面的ProcessRequest方法(1.aspx,1.ashx)。请求如果是1.aspx就会执行页面的声明周期
-
PostRequestHandlerExecute 执行完页面对象了,
-
ReleaseRequestState 已释放请求状态
-
UpdateRequestCache 更新缓存
-
PsotUpdateRequestCache 已更新缓存
-
LogRequest 日志记录
-
PsotLogRequest 已完成日志
-
EndRequest 完成
版权申明:本文来源于网友收集或网友提供,如果有侵权,请转告版主或者留言,本公众号立即删除。
出处:https://www.cnblogs.com/zhangmm96/archive/2019/08/27/11421118.html
本文由mdnice多平台发布