我希望做出能在后台查看所有登陆用户信息的功能。
在global.asax有这样一段:
void Application_Start(object sender, EventArgs e)
{
Application[ "hashTable "] = new Hashtable();
}
用户登陆过程中我有这样一段代码:
string sessionId = this.Session.SessionID;
try
{
Application.Lock();
Hashtable sessionTable = Application[ "hashTable "] as Hashtable;
if (null == sessionTable)
{
Application[ "hashTable "] = new Hashtable();
}
if (!sessionTable.Contains(sessionId))
{
sessionTable.Add(sessionId, info);
}
Application.UnLock();
}
catch (Exception ex)
{
throw new Exception( "You have already login. ");
}
我发现Application似乎不太稳定,我的Application并没有time out,但有时候Application中保存的Hashtable 会丢失一些用户信息,不知道这是怎么回事? 谢谢!
------解决方案--------------------------------------------------------
应用被IIS回收了!所以会丢数据!