日期:2014-05-18  浏览次数:20542 次

ASP.net做的办公自动化系统,如何查看在线人员
如题。
即在一个页面中看到某一时刻都是谁在线~!

------解决方案--------------------
这个功能强!
------解决方案--------------------
用户表中有个标识是否在线的字段(IsOnline),比如bit类型的

首先登录,成功后将数据库user表中的标识是否在线的字段Update一下,修改为1(在线)

然后查询IsOnline=1(在线用户)
SELECT *
FROM t_User
WHERE IsOnline = 1

退出系统的话将IsOnline设置为0,

不知道是不是符合楼主的需求
------解决方案--------------------
楼上的.如果不登录是游客呢.

用Global.asax

application_start初始化application[ "online "]=0
访问就是session_start是application[ "online "]+=1
------解决方案--------------------
用Application不行用户退出了它的人数还不会马上就移除,用类型化数据集,在缓存里放一个DataTable,那样可以精确统计在线人数
------解决方案--------------------
赞成zhulei2008(滴水浪流)的说法,用数据库来持久化,比较好点!

------解决方案--------------------
用Global.asax

application_start初始化application[ "online "]=0
访问就是session_start是application[ "online "]+=1

但这个有个坏处就是服务器一旦重启,那么application[ "online "]回变回0
------解决方案--------------------
如果需要详细的处理办法,请发消息给我.
思路:人员表增加字段online利用Global.asax中的Session_Start和Session_End进行用户的状态改写.
------解决方案--------------------
我正好刚做了一个,用asp.net2.0作的。可以统计在每个版面,每个主题,每个页面的
在线人数,哪些会员在线,有多少游客在线。
以上几位说的都不能做比较复杂的在线统计,我用到了membership和profile,但也可以
不用asp.net2.0的新特性去做。
主要思路如下:
1.逻辑下线 指用户主动点击某一链接退站或者注销
2.超时下线 只用户长时间没有更新LastActivityDate
两种情况都视为不在线

建立一个表格,记录每个用户所在的页面,版面,主题。
在每个页面中要更新这个记录

查询此表并对用户的在线情况做判定就可以得出你所要的。

顺便说一下,在线其实可以和会话是否结束没有任何关系,这样做起来比较简单。