System.Web.HttpException: 只有在配置文件或 Page 指令中將 enableSessionState 設置為 true 時,才能使用會話狀態。請確保在 <system.web><httpModules> 節中包含 SessionStateModule。
在 EndRequest 階段,ASP.NET 已經完成了請求處理並釋放了 Session 狀態模塊,此時 HttpContext.Current.Session 為 null 或已不可用。直接訪問會拋出上述異常。
AcquireRequestState、PreRequestHandlerExecute 或頁面生命周期中。web.config 確認 <modules> 包含 SessionStateModule,並在模塊 Init 方法中掛鉤 PostAcquireRequestState 而非 EndRequest。BeginRequest 或 AuthenticateRequest 階段將所需 Session 值複製到 HttpContext.Items,後續階段從 Items 讀取。<system.web>
<httpModules>
<add name="Session" type="System.Web.SessionState.SessionStateModule" />
<add name="MyModule" type="MyNamespace.MyModule" />
</httpModules>
</system.web>
確保自定義模塊在 SessionStateModule 之後註冊,以便 Session 已初始化。