当前位置:编程学习 > C#/ASP.NET >>

判断用户是否在线

问题是这样的。管理员不能删除当前在线用户的信息。但如何判断该用户是否在线呢?
如果在Global的Session_End里做处理.   
  建一个在线的用户表,登陆的时候写入表中。   
  在session_end里把该用户从表中移除。 
  
但是因为突然关机,或ie出错就不会执行session_end了。

那么怎么办?  
--------------------编程问答-------------------- 怎样每20分种检测一下表中的所有用户是否还在。

如果这个网站是多用户访问,每20分钟检测一下可能会造成服务器的负担过重,有否一个理想方法去判断在线用户?

--------------------编程问答-------------------- 数据库的用户表里给用户添加一个最后登陆时间的字段,显示页面的时候select的时候选择20分钟内登陆的用户就可以了 --------------------编程问答-------------------- to上面那位大哥,这样做的话,还是在页面一段时间内刷新,去update你的数据库阿。这样好占用资源的。。 --------------------编程问答-------------------- 关注下~ --------------------编程问答-------------------- --------------------编程问答-------------------- 顶一下
--------------------编程问答--------------------
引用 1 楼 luckystar001 的回复:
怎样每20分种检测一下表中的所有用户是否还在。

如果这个网站是多用户访问,每20分钟检测一下可能会造成服务器的负担过重,有否一个理想方法去判断在线用户?


这个方法差不多。。。

只能是定时检测用户是否进行操作。。如果在一定时间内没有进行操作,视为下线 --------------------编程问答-------------------- 这在BS模式 下有点麻烦 服务器根本得不到客户端关闭游览器的事件 只能定时检查 --------------------编程问答--------------------     你可以在全局当中来个逻辑, 你要记录它上次登录时间,然后每次登录前先对比时间,如果超过20分钟。你就修改为下线, 登录前,先进行时间对比! 不管是它断电还是什么,只要对比时间不同,就设为下线,或在线! --------------------编程问答-------------------- 顶一下 --------------------编程问答--------------------  我做过 只能够做定时检测用户是否在线。
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,