在线用户问题(Session,Application)
我的程序想实时列出在线用户名单。
我的做法是每当用户登陆时将用户信息放进Session中,并且放进Application中。当用户注销时做Session.Abandon();并且在Global.asax.cs中有如下代码:
protected void Session_End(Object sender, EventArgs e)
{
Application.Lock();
Application.Remove(((LogUser)Session["loguser"]).Name);
Application.UnLock();
}
这时问题出现了,当用户不是按注销退出,而是按关闭窗口或者关掉机器时,该用户竟然一直在在线用户名单中,除非Session到期。
各位大侠有什么高见,100分诚心感谢!