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 |
指示请求处理结束。 |