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

【急】直接关浏览器,没有安全退出,如何修改用户下线状态

在一个聊天室系统中,如果直接关浏览器,没有安全退出,如何修改该用户的在线状态。

我用session失效的方法,设置时间为3分钟,但是当用户在三分钟内没有对页面进行操作时,该用户也就下线了,这样不是我想要的效果,我不知道是我的这个方法没有写正确还是这个方法行不通,高手们请指点一下啊。

--------------------编程问答-------------------- 没有办法。
客户端更加频繁地发送心跳,设置更短的失效时间,可以增加实时性。 --------------------编程问答--------------------
引用 1 楼 caozhy 的回复:
没有办法。
客户端更加频繁地发送心跳,设置更短的失效时间,可以增加实时性。
mark --------------------编程问答-------------------- session是在非活动状态下多少时间后失效吧 --------------------编程问答-------------------- 呵呵,无解。
说到底,b/s这东西还是做展示比较好,复杂的功能做不来的。 --------------------编程问答--------------------
引用楼主 wang19xiang 的回复:
在一个聊天室系统中,如果直接关浏览器,没有安全退出,如何修改该用户的在线状态。

没有办法,非法关闭浏览器会等session到期才注销


引用楼主 wang19xiang 的回复:
我用session失效的方法,设置时间为3分钟,但是当用户在三分钟内没有对页面进行操作时,该用户也就下线了,这样不是我想要的效果,我不知道是我的这个方法没有写正确还是这个方法行不通,高手们请指点一下啊。

LZ你想要什么效果 --------------------编程问答-------------------- 在客户和服务器之间保持“心跳”信息维持一个长连接
ajax定时查询用户状态
--------------------编程问答-------------------- 用js捕捉关闭浏览器的事件啊  然后在里边对数据库操作 改变登录状态
释放原来的session  是会员登录?
我做项目时  用js获取关闭事件 
重写onbeforeunload事件 然后ajax打开一般处理程序  在一般处理程序中
调用操作数据库的方法  然后释放session
不知道你的是web版的不  可以参考下  不知道能不能帮到你 --------------------编程问答--------------------         我懂意思。但是没思路! --------------------编程问答--------------------
引用 7 楼 lishuai1030 的回复:
用js捕捉关闭浏览器的事件啊 然后在里边对数据库操作 改变登录状态
释放原来的session 是会员登录?
我做项目时 用js获取关闭事件 
重写onbeforeunload事件 然后ajax打开一般处理程序 在一般处理程序中
调用操作数据库的方法 然后释放session
不知道你的是web版的不 可以参考下 不知道能不能帮到你

不错  支持了。 --------------------编程问答-------------------- 新建一个 Global.asax 在他的 Application_end 事件里面去写 --------------------编程问答-------------------- 如果用一些js表示,有的浏览器不支持 --------------------编程问答--------------------   <script language="javascript" type="text/javascript">
  function test(){
 
  LogOut();
  
  }
   </script>
</head>
<body onbeforeunload="test()">


我是这么处理你说的问题的
不知道都有什么好办法
欢迎批评 --------------------编程问答-------------------- session 一般在无操作情况下保存20分钟,建议用js在窗体关闭事件中,延续几秒,用ajax想服务端发送信息。
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,