Application_AuthenticateRequest是否总是在global.asax中的Session_Start之前触发?我正试图找到一些有关它的权威文档。
我认为确实如此,研究它表明确实如此。但我没有找到权威的答案(除非我遗漏了什么)。
我asp.net application lifecycle的正常资源非常详细,但并未真正详细说明某些模块的事件是如何排序的。
是否有人知道某些权威文档,其中详细说明了某些内置模块事件的排序示例(特别是SessionStateModule)?
我一直在寻找,但还没找到任何东西。
答案 0 :(得分:8)
我还没有看到任何官方文档,但查看Reflector中的SessionStateModule
会显示Start
事件是由RaiseOnStart
方法引发的,该方法是从{CompleteAcquireState
调用的1}}方法,从BeginAcquireState
方法调用,处理AcquireRequestState
事件。
根据application lifecycle page,AcquireRequestState
,AuthenticateRequest
,AuthorizeRequest
和ResolveRequestCache
事件后,PostMapRequestHandler
事件始终会被提升。< / p>
NB:这适用于.NET 4.0,但我相信以前的版本也是如此。