【发布时间】:2010-09-26 16:43:51
【问题描述】:
public sealed class UserLoginSingleton
{
UserLoginCollection _userLoginCol = new UserLoginCollection();
UserLoginSingleton()
{
}
public static UserLoginSingleton Instance
{
get
{
IDictionary items = HttpContext.Current.Items;
if (!items.Contains("TheInstance"))
{
items["TheInstance"] = new UserLoginSingleton();
}
return items["TheInstance"] as UserLoginSingleton;
}
}
public void CreateUserObj(string xmlData)
{
_userLoginCol = (UserLoginCollection)_xmlUtil.Deserialize(xmlData, typeof(UserLoginCollection));
}
public UserLoginCollection getUserObj()
{
return _userLoginCol;
}
}
用法:
第1页.aspx
UserLoginSingleton.Instance.CreateUserObj(xml);
Pase2.aspx:
用户登录集合 用户登录集合 = UserLoginSingleton.Instance.getUserObj();
在此处关注文章: link text
我在第 1 页中设置了我的集合对象,然后执行 response.redirect 或单击链接以将我转到第 2.aspx 页。但是,我的单例实例没有我设置的集合对象。如何在每个会话的不同页面中持久保存我的集合对象?
我知道静态不会起作用,因为每个实例都会看到该对象,我希望每个用户都有特定的对象。
【问题讨论】: