用户关闭浏览器时如何通知webserver(在asp.net中)?

时间:2009-08-22 15:50:22

标签: c# asp.net ajax

我正在开发一个中继聊天应用程序,分为2个窗格。

右窗格 - >用户的聊天响应(这使用放置在更新面板内的ASP.NET多行标签控件,因此当任何用户键入响应并提交时,它将被添加到此控件中)

左窗格 - >当前在线的用户列表(这使用ASP.NET列表控件,它也放在更新面板中)。

下面是用户输入文本的文本框和发送回复的发送按钮。

一切正常。但是当用户关闭浏览器窗口而不是单击注销按钮时。左窗格中的列表未刷新。

当用户退出时,它会正常发生。

如果用户关闭浏览器,有没有办法敲击列表中的用户名?(甚至在他的会话在服务器端过期之前)。?

抱歉,我无法曝光屏幕截图。

任何人都可以提出一个想法以及示例代码段。?

感谢

vijay

2 个答案:

答案 0 :(得分:3)

您可以采取相反的方式:定期使用ajax调用从浏览器ping服务器。如果未收到ping,请删除该用户。

答案 1 :(得分:2)

您可以use Javascript to detect when the browser has been closed,然后将AJAX请求重新启动回服务器,通知用户离开。