(兼回答CSDN论坛的一个问题)
因为Session是在HttpApplication的AcquireRequestState事件后才有的,而Page类(或其他HttpHandler)的对象是在此之前生成的,看一下HttpApplication的事件次序
BeginRequest
AuthenticateRequest
AuthorizeRequest
ResolveRequestCache
—-Page类(或其他HttpHandler)的对象在此生成
AcquireRequestState
PreRequestHandlerExecute
—-Page类(或其他HttpHandler)的对象的ProcessRequest
PostRequestHandlerExecute
ReleaseRequestState
UpdateRequestCache
EndRequest
如果你想深入了解ASP.NET处理请求过程,参考Rick Strahl的文章
A low-level Look at the ASP.NET Architecture
打赏作者