我用global.ascx文件统计在线人数,内容如下:
protected void Application_Start(Object sender, EventArgs e)
{
Application.Lock();
Application["curUsers"]=0;
Application.UnLock();
}
protected void Session_Start(Object sender, EventArgs e)
{
Application.Lock();
Application["curUsers"]=(int)Application["curUsers"]+1;
Application.UnLock();
}
protected void Session_End(Object sender, EventArgs e)
{
Application.Lock();
Application["curUsers"]=(int)Application["curUsers"]-1;
Application.UnLock();
}
可发现退出论坛后再次登录人数不是”1”,而是”2”,退出再登录又变成了”3”,也就是说”Session_End”没有起作用,后来想是不是web.config里的”sessionState”下的”timeout”在作怪,后来觉得是,改为”1”以后退出论坛过了1分钟后发现正常了,可我想退出论坛后Session_End马上起作用应该怎么办?”timeout”没法设为”0”啊,请指教!