HttpModule及其中的事件的執行順序

HttpModule執行的順序取決於web.config配置HttpModule的順序,而HttpModule中事件的執行先後順序與asp.net運行機制相關,具體執行順序如下:

BeginRequest
AuthenticateRequest
AuthorizeRequest
ResolveRequestCache
AcquireRequestState
PreRequestHandlerExecute
PostRequestHandlerExecute
ReleaseRequestState
UpdateRequestCache
EndRequest


此外,有三個不確定的順序:
PreSendRequestHeaders
PreSendRequestContent
Error

舉個例子:
如果你在web.config配置了兩個HttpModule,分別是HttpModuleA,HttpModuleB

這個事件執行的順序如下:
HttpModuleA->BeginRequest
HttpModuleB->BeginRequest
HttpModuleA->AuthenticateRequest
HttpModuleB->AuthenticateRequest
HttpModuleA->AuthorizeRequest
HttpModuleB->AuthorizeRequest
...以此類推  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章