我编写了一个静态类,并假设在所有会话之间共享它的成员。它适用于在同一个cumputer上运行的所有浏览器,但不同位置的不同用户之间不共享数据。我的网站是用ASP.NET编写的
这是我的班级
public static class GlobalPool
{
public static List<string> OnlineUsers;
}
我将Global.asax中的OnlineUSers属性实例化为
void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
GlobalPool.OnlineUsers = new List<string>(100);
}
每当用户登录我的网站时,我都会添加用户名:
public void Login(int aMemberSerial)
{
User = new MemberDataAccess().Read(aMemberSerial);
new MemberDataAccess().Login(User);
GlobalPool.OnlineUsers.Add(User.Username);
Message = PostBusiness.NewPost(User);
}
答案 0 :(得分:0)
这不是强大的代码。 ASP.NET应用程序会定期回收(应用程序池),因此您的所有数据都将消失。 解决此问题的最佳方法是将列表存储在数据库中,当会话到期时,从数据存储中删除该用户。