您的位置:首页 > 其它

本菜鸟实现在线用户列表的简单方法

2007-01-11 21:49 561 查看
因最近时间空点,写点个人心得了~,我们经常在程序中要实现显示当前有多少用户在线,以及在线用户的操作状态的功能,看了园子里朋友都有一些非常好的思路,这里我也提供一种很简单的方法:
1,用户登陆后,在每一次加载新的页面时判断权限(这是常规操作) 的同时,把用户状态写入一张OnlineUser表里,如果发现没有这个用户,就添加进OnlineUser表。
2,在查询当前在线用户时,查询OnlineUser表即可。
3,用户退出程序时,加删除OnlineUser表中对应用户ID的记录。
4,用户非正常退出程序时,用DELETE FROM OnlineUser WHERE (DATEDIFF(ss, LastActTime, GETDATE()) > " + GlobalVar.Timeouts * 60 + ")的记录。
BasePage中刷新在线用户操作状态的代码如下:

1 private void RefreshOnlineUser()
5if (Session["UserID"] == null)
else

其中GlobalValTimeouts 为自定义超时时间,GlobalVar.DBName为数据库,Query.ProcessSql是用听棠.Net的SPL持久层。
大家如有不同建议,请提出啊,我下一步想法是用AJAX来实现在线用户列出来。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: