我得到'會話狀態在此上下文中不可用'的錯誤。會話狀態在此情況下不可用 - 在Global.asax中
嵌套在一些Global.asax文件內的方法的發送器參數的誤差:
- 的Application_BeginRequest
- Application_AuthenticateRequest
- 在session_start
- 的Application_Error
該錯誤發生在首次加載頁面時(以及之後加載的所有頁面)。
我在項目中添加了一個全新的空白頁面WebForm1.aspx,並將其作爲我的開始頁面。
你會認爲空頁什麼都不會出錯。沒有我的代碼執行,據我所知,加載空白頁面時。但我仍然遇到會話狀態錯誤。
我的項目完全正常。沒有顯示錯誤頁面。在任何時候都沒有不正確的行爲。
但是,這個會話錯誤顯示在我當前項目的sender參數中,這一事實讓我感到不安。這個錯誤是而不是在一個空白的新項目中生成的。
什麼可能是我目前的項目中這個錯誤的原因?
如何追蹤發生錯誤的位置?我無法在引擎蓋下的的ASP.NET代碼中設置斷點。或者我可以嗎?
這裏是我的會話配置:
<pages enableSessionState="true" />
<sessionState mode="InProc" cookieless="false" timeout="20" />
更新:
我剛剛發現一個全新的空白項目也有發件人對象這個錯誤。它在Application_BeginRequest和Application_AuthenticateRequest方法中可見。但是這個空白的項目並沒有像我的其他項目那樣生成Application_Error事件。
我沒有要求任何東西。在發送者對象中發現此錯誤之前,我的代碼不會執行。 請注意列出的方法還包括Application_Error方法。 錯誤肯定是生成的。我不知道它來自哪裏。 – Jay
這應該是答案。如果我們沒有在之前的任何事件中獲取SessionState,這就是原因。 –
謝謝,這解決了我的問題與OP完全相同的情況。 +1 – Deverill