会话在asp.net的处理程序中为空?

时间:2012-10-18 07:15:32

标签: c# asp.net session handler

我想在处理程序中访问会话,因为我继承了“IRequireSessionState”类。但是在评估会话时它会变为空,但在网页上它有价值。我不知道为什么会发生这种情况我的处理程序代码是:

 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;
    }

请帮帮我。提前致谢

1 个答案:

答案 0 :(得分:0)

您可以通过将值公开给外部世界http://forums.asp.net/t/1506625.aspx/1然后尝试使用

获取处理程序中的值来尝试此操作
context.Request.Form["returnvalue"]; 

您可以在Mozilla中的firebug AddOn中看到公开的值