>>>关闭浏览器后在数据库里查看还是“在线”!!session state is saved on the server, a client action like 关闭浏览器 doesn't send a request to the server, so how does the server know you are abandoning the session? try (not always work, since the user can go to another site):<script language=javascript>
function window.onunload()
{
        if (event.clientX < 0 && event.clientY < 0)
              window.open("logout.aspx", "logout");
}
</script>in logout.aspx:
<% Session.Abandon() %>

解决方案 »

  1.   

    但是 saucer(思归)你執行Session.Abandon()後.其他用戶的Session也繪備free掉了呀
      

  2.   

    那这个protected void Session_End(Object sender, EventArgs e)有什么用??
      

  3.   

    Session_End will be called when a Session times out or you call Session.Abandon()
      

  4.   

    Session.Abandon()是Session结束吗?它会触发Session_End事件是吗??
      

  5.   

    但是 saucer(思归)你執行Session.Abandon()後.其他用戶的Session也繪備free!!
    我要控制当前用户的回话结束!!
      

  6.   

    >>>>但是 saucer(思归)你執行Session.Abandon()後.其他用戶的Session也繪備free!!谁跟你说的?别听人说了风,就是雨,调用Session.Abandon()只能释放当前用户的Session
      

  7.   

    我要写在服务器端,应该写在什么事件下呢??系统如何判断Session.Abandon()??
    比如说我要打开一个窗口,可以在button的onclick事件下写,我要Session.Abandon()应该写在什么事件下呢??
      

  8.   

    you can call Session.Abandon() anywhere you want, it is up to you to decide where/when to call it
      

  9.   

    saucer(思归)恕小弟愚钝,你写了个客户端的!能不能再写个服务器端的给我看看!!谢了!!
      

  10.   

    思归的答案是服务器端加客户端代码实现的,你直接添加到你的程序里就可以了!
    session是保存单个客户机与服务器的会话状态的,所以用Session.Abandon()只关闭当前客户机与服务器的会话,不会对其他客户机与服务器的会话产生任何影响,而Application是保存服务器与所有客户机会话的状态,即有一个客户机打开服务器的页面,那么就会初始化相应的Application,当然,这时候其他用户再次与服务器会话时不会在创建新的Application,二是使用服务器上已经存在的Application,他是一个共享的变量,相当于static修饰符下的成员。
      

  11.   

    谢谢了!!saucer(思归),storm97(风暴不再) !!真心感谢!!真的很少有人能这么详细的解释给我!!
    storm97(风暴不再):
    function window_onbeforeunload() {
    if (window.confirm("确定要关闭吗?")==true)
    {
    return
    }在执行的时候,为什么在点了取消后,系统又弹出一个“确实要离开该页面吗?false 按确定继续,或按取消留在当前页面。”的提示信息??可以不要这个提示信息吗?直接点取消就可以了!
      

  12.   

    onunload="<%# Session.Abandon() %>"可以吗??