2012-09-01 71 views
1

可能重複:
Why HttpContext.Current.Session is null in Global.asax?訪問會話在Global.asax中的方法在MVC3環境

我開發一個項目MVC3(剃刀)。
我在某些控制器/操作(每個用戶不同)中向我的會話添加了一個變量。
我想在Application_AuthenticateRequest方法(global.asax)中訪問這個變量。

此異常發生:

會話狀態不可用在這方面。

Sample Project

+0

請參閱http://stackoverflow.com/a/4185982/717732以及問題。 – quetzalcoatl

+0

在那篇文章中: \t @TorbjörnHansson:有時候它是空的,你知道爲什麼嗎? - - Homam 07年7月17日在19:35 – mehr

+0

我已經擴大了答案一下,看到我的文章。 – quetzalcoatl

回答

0

對於startes,看到https://stackoverflow.com/a/4185982/717732

整個的一點是,Session不可用,只是將永遠可以在這個時間點:和「時間」我的意思是「當這個事件被解僱了'。

在devproconnections.com/article/aspnet2/

閱讀例如生命週期Session對象製備晚得多:所述AcquireRequestState事件期間。這是您訪問Session狀態包並進行調查的第一個「時間」。

0

謝謝quetzalcoatl, 這是事實。

 try 
     {     
      if (Session != null) 
      { 
       if (Session["mys"] != null) 
       { 
        //Error 
        string s = HttpContext.Current.Session["mys"].ToString(); 
       } 
       else 
       { 
        Response.Redirect("~/Home/Index"); 
        Response.End(); 
       } 
      } 
     } 
     catch { 
      Response.Redirect("~/Home/Index"); 
      Response.End(); 
     } 
+0

你剛剛'不接受'我的回答?現在已經過去了一年多了。怎麼了? – quetzalcoatl