当前位置:  开发笔记 > 编程语言 > 正文

浏览器关闭时运行服务器端功能

如何解决《浏览器关闭时运行服务器端功能》经验,为你挑选了1个好方法。

背景:我正在使用C#Code-Behind创建一个非常简单的类似聊天室的ASP.NET页面.当前用户/聊天消息显示在AJAX更新面板中的控件中,并使用计时器 - 他们每隔几秒从数据库中提取信息.

我试图找到一种简单的方法来处理用户的状态为"离线",当他们退出浏览器而不是点击"注销"按钮."离线"状态目前只是IsOnline的1个字符(y/n).

到目前为止,我已经查看了window.onbeforeunload与Javascript,设置一个隐藏的表单变量与此事件的函数 - >当然麻烦的是,我仍然要在我的Code-Behind某处做测试这个隐藏的表单变量最终的服务器端数据库查询,有效地将用户设置为脱机.

我可能完全不喜欢这个简单的问题!当然,我会欣赏任何完全不同的替代建议.

谢谢



1> Joel Spolsky..:

我怀疑你正在咆哮错误的树.请记住,用户可能会突然失去互联网连接,浏览器可能会崩溃,或者使用红色大开关关闭计算机.在某些情况下,服务器根本不会再次从浏览器中听到.

做到这一点的最好方法是"死人的转换".由于您说它们每隔几秒就从数据库中提取信息,因此利用该机会存储(在数据库中)上次您从给定客户端收到的时间戳.

每分钟左右,在服务器上,执行查询以查找未轮询几分钟的客户端,并将用户设置为脱机...全部在服务器上.

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有