日期:2014-05-18  浏览次数:20454 次

Application对象问题
我希望做出能在后台查看所有登陆用户信息的功能。

在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回收了!所以会丢数据!