在应用程序代码中从c#类设置会话.ASP.Net

本文关键字:设置 会话 ASP Net 应用程序 代码 | 更新日期: 2023-09-27 18:15:24

我正在尝试设置会话,但我的会话始终为空?

这是我尝试过的。

Session["Email"] = userName;
HttpContext.Current.Session.Add("Email", userName);
System.Web.HttpContext.Current.Session["Email"] = userName;
this.Session["Email"] = userName;

来看看我的班级。

public class MySessionSet
{
    public MySessionSet()
    {
        //
        // TODO: Add constructor logic here
        //
    }
    public void SetSession(string SessionName, string SessionValue)
    {
        HttpContext.Current.Session[SessionName] = SessionValue;
    }
}

我不知道还能尝试什么

在应用程序代码中从c#类设置会话.ASP.Net

检查你的网页。在配置中,可能有一个名为sessionState的部分,默认情况下它将被设置为InProc,但您可能将其关闭?

<sessionState 
    mode="Off"....
>
</sessionState> 

MSDN连接到sessionState.

要使用InProc,将其设置为…

<sessionState 
        mode="InProc"....
    >
 </sessionState> 

或者,如果您有StateServer,请确保StateServer Windows Service在机器上运行。

边注,这可能也值得一读:在使用会话状态前三思

尝试将System.Web.UI.Page继承到你的类MySessionSet.