Asp.Net MVC 的19个管道事件

61 阅读1分钟

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 完成

版权申明:本文来源于网友收集或网友提供,如果有侵权,请转告版主或者留言,本公众号立即删除。

出处:www.cnblogs.com/zhangmm96/a…

本文由mdnice多平台发布