日期:2014-05-17  浏览次数:20356 次

在写操作日志代码时,如何知道用户退出?
写了一个方法,是把操作日志写入数据库,每当发生登陆、增删改查成功时就调用这个方法,但怎么知用户退出了呢?退出的情况有很多,比如关IE、停电什么的。想用session_end,但是系统里又有多个session,比如验证码什么的,多个session都会触发session_end。该怎么办呢?

------解决方案--------------------
session是相对单个用户的,你的方法可以。

要不你就向服务器发送心跳包
------解决方案--------------------
断电,死机,直接关闭
很难判断的
------解决方案--------------------
探讨

浏览器有什么“退出”?web应用整个是无状态的,你需要用业务逻辑来模拟所谓的状态。

------解决方案--------------------
退出状态没必要/ 一般记录下登录和 增删改的操作就可以 

 
------解决方案--------------------
探讨

退出状态没必要/ 一般记录下登录和 增删改的操作就可以

------解决方案--------------------
比如说你的所有页面每隔30秒钟向服务器以ajax方式登记一次心跳(你可以写一个ascx然后拖入所有页面),那么从数据库中(或者内存cache中)检测到最后一次心跳时间超过1分钟,也就断定其用户处于离开状态了。