2011-01-12 252 views
0

我在ASP.NET web應用程序中遇到了與會話狀態有關的奇怪異常。注:該代碼是由第三方製造....ASP.NET會話狀態

基本上我得到一個HttpException用的描述:

時enableSessionState設置爲true時才能使用會話狀態,無論是在配置文件或在Page指令中。請確保System.Web.SessionStateModule或自定義會話狀態模塊包含在應用程序配置的\\部分中。

失敗發生看上去像這樣的代碼:

public class ExtendedWebPage : System.Web.UI.Page 
{ 

    protected override void OnInit(EventArgs e) 
    { 
     base.OnInit(e); 
     if (Context.Session != null) 
     { 
      if (Session.IsNewSession || Session["UserID"] == null) <--- Errors Here 
      { 

我得到的if語句的測試例外,但是當我詢問Context.Session的罰款。到目前爲止,瀏覽器已經通過了一個很好的登錄頁面,並設置了一些Session變量,我可以看到Context.Session,但是這個.Session正在拋出這個exeption。

任何想法?

感謝,

菲利普

+1

我覺得這裏的問題是Context.Session和Session不是一回事。 – 2011-01-12 09:50:06

+0

我很欣賞Session是一個在Page內定義的虛擬屬性,然而Session屬性使用Context.Session,並且如果底層字段_session爲空則返回異常。 – Philip 2011-01-12 10:04:20

回答

0

最後通過在後面的代碼中重命名Page和class來解決問題。創建一個新頁面,將標記複製並粘貼到ASPX中,並將重命名類的主體複製到新類的主體中。該代碼現在執行超過它失敗的地步。

還有3個小時我不打算回來...... -S