2010-02-24 80 views
1

我正在开发使用.net的聊天应用程序,这里我必须定期刷新在线用户,有什么方法请给我建议。如何在聊天中自动刷新用户列表

现在我正在获取用户名,一旦用户登录,并且我删除用户,一旦他按下注销按钮,它确定并正常工作,但一些用户只是关闭他们的浏览器,不可能为我确定无论他是否在网上,任何帮助将不胜感激。

回答

1

您可以使用一些客户端通知机制使用像AJAX(或ASP.NET AJAX)的东西。让客户端每隔1-2分钟通知服务器发送一个“我还活着”的信号。

1

对于Web应用程序,看看在Asp.NET AJAX Timer controlMSDN

而且,看到JavaScript的BODY onUnLoad event。当关闭浏览器窗口或用户通过改变地址栏的网址或通过点击的东西等

对于窗体应用程序导航离开它被激发,看看在不同timer controls

+1

岂不onunload的是如果页面刷新,会触发吗?如果用户刷新页面并注销,会很有趣! :)无论如何,为Ajax计时器控制链接+1。 – 2010-02-24 06:36:25

+0

是的,没有想到这一点。也有一些丑陋的方法可以处理,尽管我不会使用它。 请参阅http://bytes.com/topic/javascript/answers/146991-onunload-action 有趣的一次,我想到了,更好的选择是设置登录用户的身份验证cookie到期后2分钟来自onUnLoad和Onload或global.ashx的调用将向前移动到期。所以沿着这些线路会有所作为。 尽管如此,最好的选择将是一个'心跳'定时器,通过'滑动过期'认证机制保持用户登录。 – 2010-02-25 18:30:22

相关问题