2012-10-18 67 views
0

我想訪問處理程序中的會話,因爲我繼承了「IRequireSessionState」類。但是在評估會話時它會變爲空,但在網頁上它有價值。我不知道爲什麼會這樣我的處理程序的代碼:會話在asp.net中的處理程序中是否爲空?

public void ProcessRequest(HttpContext context) 
{ 
String Name = Common.GetSessionValue("UserId").ToString() ; 
// my code......... 

這是我常用的方法獲取會話的價值

public static Guid GetSessionValue(string SessionName) 
    { 
     Guid returnvalue = Guid.Empty; 
     if (HttpContext.Current.Session[SessionName] != null) 
     { 
      returnvalue = new Guid(HttpContext.Current.Session[SessionName].ToString()); 
     } 
     else 
     { 
      HttpContext.Current.Response.Redirect("Login.aspx"); 
     } 
     return returnvalue; 
    } 

請幫助我。在此先感謝

回答

0

您可以通過值暴露在外界http://forums.asp.net/t/1506625.aspx/1,然後嘗試使用

context.Request.Form["returnvalue"]; 

獲取在處理程序中的值可以看到在Mozilla

在Firebug附加元件暴露值試試這個
相關問題