Application session 方法就不用提了.简单的统计人数就够了。
再浏览过程中 用户非正常关闭IE的情况就不考虑了在session_end 中解决。
现在就是 当用户浏览页面的时候 直接关闭IE窗口。 已经可以在js中捕获关闭事件。 在事件中我该怎么去处理服务端数据表 也就是在Datatable XXX表的删除本sessionid的记录注 在Application_start 中就建立Datatable xxx 存储用户信息表 session_start中 就往表里面插入记录。用seesionid做唯一主键。
再浏览过程中 用户非正常关闭IE的情况就不考虑了在session_end 中解决。
现在就是 当用户浏览页面的时候 直接关闭IE窗口。 已经可以在js中捕获关闭事件。 在事件中我该怎么去处理服务端数据表 也就是在Datatable XXX表的删除本sessionid的记录注 在Application_start 中就建立Datatable xxx 存储用户信息表 session_start中 就往表里面插入记录。用seesionid做唯一主键。
解决方案 »
- asp.net 动态创建表的名称有什么要求吗?
- web.config 下面 pages tag无效
- 关于page类的请教。分不是问题。
- 对于这种情况,怎么建水晶报表呢?
- ASPX页面获取用户控件里的HtmlSelect值,为什么第一次得到的为空呢?
- A potentially dangerous Request.Form value错误信息我知道了,我要所有危险的字符?目前仅知道"<"加上某些特殊的字符会错,还有吗?是哪些?
- url重写问题
- 我是一个ASP.NET的初学者,求教!!!!
- 在线等待,如何在程序中真接调如(百度,sohu.sogou)搜索片定义的关键字,比如我在程序中加入一个文本框,输入关键字后,点击百度搜索程序就直接调用百度搜索这个关键字,谢谢!
- 按钮不见了,HyperLink不能连接了,怎么回事?
- 用C#实现RAR文件的自动解压缩?
- 如何在ASP.NET 使用jQuery 插件
当用户进入web时,生成一个全球唯一的GUID,并保存在cookies里,过期时间为浏览器进程,在客户端(web底部)放一个隐藏的xmlhttp对象,定时(假设60秒)调用在线服务器的webservice(也可以做一个隐藏的框架post数据),更新用户最新在线时间(服务器当前时间)。
在线服务器为一独立服务器,服务器上部署一个webservice(也可以做一个隐藏的框架)和一个控制台程序,通过webservice接收过来的值把用户的GUID、IP、最新在线时间写入hashtable里。控制台程序,定时(假定60秒)执行一次,删除hashtable中用户的时间与当前时间相隔61秒的用户,那么判断在线用户的最大误差是59秒,如果设定的更新时间越短,误差越小,当然这也会造成服务器压力会越大。这样操作的好处是hashtable的数据操作效率高;定时更新时间能避免用户非法操作(如断电)而统计不到数据;GUID是全球唯一码,避免了使用IP、MAC地址、硬盘序列号的重复。