HttpRequest在整个HttpModule中的生命周期

Http Request开始
                        |
                       HttpModule
                            |
                     HttpModule.BeginRequest()
                        |
                HttpModule.AuthenticateRequest()
                        |
                      HttpModule.AuthorizeRequest()
                        |
                  HttpModule.ResolveRequestCache()
                        |
                    建立HttpHandler控制点
                        |
                接着处理(HttpHandler已经建立,此后Session可用)
                        |
                  HttpModule.AcquireRequestState()
                        |
                HttpModule.PreRequestHandlerExecute()
                        |
                   进入HttpHandler处理HttpRequest
                        |
                    HttpHandler.ProcessRequest()
                        |
            返回到HttpModule接着处理(HttpHandler生命周期结束,Session失效)
                        |
                HttpModule.PostRequestHandlerExecute()
                        |
                HttpModule.ReleaseRequestState()
                        |
                HttpModule.UpdateRequestCache()
                        |
                    HttpModule.EndRequest()
                        |
                HttpModule.PreSendRequestHeaders()
                        |
                HttpModule.PreSendRequestContent()
                        |
                    将处理后的数据返回客户端
                        |
                         整个Http Request处理结束

生命周期示意图:

事件说明:

事件

说明

BeginRequest

指示请求处理开始。

AuthenticateRequest

PostAuthenticateRequest

封装请求身份验证过程。

AuthorizeRequest

PostAuthorizeRequest

封装请求授权过程。

ResolveRequestCache

PostResolveRequestCache

封装检查是否能利用以前缓存的输出页面处理请求的过程。

PostMapRequestHandler

指示已发现用于处理请求的 HTTP 处理程序。

AcquireRequestState

PostAcquireRequestState

封装对请求会话状态的检索。

PostRequestHandlerExecute

指示用于处理请求的 HTTP 处理程序已执行。

ReleaseRequestState

PostReleaseRequestState

封装对请求会话状态的发布。

UpdateRequestCache

PostUpdateRequestCache

封装检查是否应对请求的资源的输出进行缓存以备今后重复使用的过程。

EndRequest

指示请求处理结束。


转载于:https://www.cnblogs.com/tufan/archive/2010/03/23/1692402.html

猜你喜欢

转载自blog.csdn.net/weixin_33810302/article/details/93643036