【发布时间】:2013-01-10 20:21:00
【问题描述】:
我正在为我的网站上的用户登录创建会话。我可以初始化会话并很好地使用它的成员,但我还需要在我的会话类中使用一个方法来存储自己。我需要提供HttpSessionState 作为输入参数,然后将其存储到一个对象中,例如:Session["sessionName"]=this;。
此外,当我想检索会话时,它还没有被创建,所以它必须是静态的。然后我需要从HttpSessionState 中返回填充属性(用户名和公司ID)的会话类的新实例。
如何在我的课程中做到这一点?我上面描述的内容来自我所做的研究,它为我的问题提供了一个特定的解决方案,但是由于我是使用 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;
}
}
【问题讨论】:
-
我不明白你遇到的问题,你能详细说明你想要完成什么吗?
-
似乎很明显OP想要什么。他需要将自己的对象存储在会话中并按需将其带回。