session默认超时时间是20分钟
一般做网站在线人数都会用session来搞
在global.asax文件中的session_start事件里写
Application.Lock();
Application["count"] = Convert.ToInt32(Application["count"]) + 1;
Application.UnLock();
在session_end事件里写
Application.Lock();
Application["count"] = Convert.ToInt32(Application["count"]) - 1;
Application.UnLock();
要注意的是IE浏览器关闭时并不意味着你的session就没了 它还是存在的 等到超时时间到了 它才会消失
所以要想在关闭浏览器时执行session_end里的事件得用下面的方法
在网站上每个页面上写
function window.onbeforeunload()
{
if (event.clientX>document.body.clientWidth && event.clientY<0||event.altKey)
{
window.open("logout.aspx");
}
}
window.onbeforeunload() 这个事件表示在关闭浏览器之前先跳到logout.aspx页面 在logout.aspx页面的page_load()事件里写Application["count"] = Convert.ToInt32(Application["count"]) - 1; 且在页面上的body的onload()事件里写上window.close()