如果用户登录成功就更新他的状态为“在线”,如果session超时或用户直接关闭页面,那就要更新其状态为“离线”。
请问怎么实现呢?我想了好久也没想出来。。请大家帮忙

解决方案 »

  1.   

    登陆成功数据库里状态改为在线
    注销和sessionend时改为离线
    你都已经把流程说清楚了还有什么不懂的?
      

  2.   

    无非是修改Session的值吧
    你不是懂了吗
      

  3.   

    流程我是懂,但是具体怎么实现不会。比如说session超时了,我想应该在Global.asax里session_end事件里更新其状态为“离线”,但是session_end事件里已经获取不到session了(我的用户登录信息都是放session的);如果直接关闭页面,那怎么更新状态呢?
      

  4.   

    用ajax 定时向服务器验证状态,如果session失效,或页面关闭(无ajax请求) 则为离线
      

  5.   

    服务器端需要有在线列表(数据库、application或者别的啥都可以),里面有用户信息,有上次通知时间,如果连续两次没有向服务器通知:【我还在线】,则认为已经离线
      

  6.   

    及时判断是否在线貌似有点困难,毕竟html是无状态的,只能判断session是否超时。
      

  7.   

    web程序是无状态的,只能等Session过期
    Session退出时实现人数统计不准确。非法关机或关闭IE不会执行   
    要记录用户日志和操作时间,再用定时器刷新计算用户   
    已经有固定时间没有活动的用户,然后删除   
      

  8.   

    因为http是无状态的,这个问题不能完美实现。