我正在为我的网站上的用户登录创建一个会话。我可以初始化会话并很好地使用它的成员,但我还需要在我的会话类中使用一个方法来存储自己。我需要提供HttpSessionState
作为输入参数,然后将其存储到一个对象中,例如:Session["sessionName"]=this;
.
此外,当我想检索会话时,它还没有被创建,所以它必须是静态的。然后我需要返回我的会话类的一个新实例,其中填充了属性(用户名和公司 ID)HttpSessionState
。
如何在我的课程中做到这一点?我上面描述的内容来自我所做的研究,它为我的问题提供了一个特定的解决方案,但是由于我是使用 session 的新手,所以我不太了解它。谢谢。
我的课程片段:
public class MySession : System.Web.UI.Page
{
private MySession()
{
Username = Business.User.labelUsername;
CompanyId = Business.User.labelCompanyId;
}
public static MySession Current
{
get
{
try
{
MySession session = (MySession)HttpContext.Current.Session["sessionName"];
if (session == null)
{
session = new MySession();
HttpContext.Current.Session["sessionName"]=session;
}
return session;
}
catch (NullReferenceException e)
{
Debug.WriteLine("NullReferenceException:");
Debug.WriteLine(e);
}
return null;
}
}
public string Username
{
get; set;
}
public string CompanyId
{
get; set;
}
}