请问下如何记录用户退出的时间, 如果是按钮退出还好, 不过要是直接关闭浏览器退出,那如果用Global.asax的session_end事件获取的话,怎么能得到用户名?
还有,正常退出时用FormsAuthentication.SignOut()能引发Session_end事件么?

解决方案 »

  1.   

    轮询
    就是客户端定时给web服务器发送在线请求
    如果超过一定的时候,客户端没有发送请求过来,就判断用户已经退出
      

  2.   

    Session_end 不可靠的。 还是通过退出页面吧。  如果关闭浏览器,不通过ajax很难处理。
      

  3.   

    你写一个方法,当点击小红叉的时候你触发一个事件,这个事件弹出一个窗口,点击确定后你就记录一下时间好啦。但是会出现一个BUG问题,如果我关闭的是一个页面,但是我开啦七八个页面,你又如何判断他真正要退出呢,不好判断,曾经讨论过,没讨论出结果,只能根据判断页面是否被操作而把Session释放掉,没办法拉。
      

  4.   

    分正常退出和非正常退出。
    如果手工点logout,就是正常退出
    如果是session_end,就是非正常退出。谢谢。
      

  5.   

    用一个iframe不停的呼叫服务器
    如果超过一段时间没有发现呼叫了,就说明挂了