如何关闭浏览器关闭事件的所有线程?

时间:2010-12-16 06:46:48

标签: asp.net

我有运行多个线程的网站。当用户关闭浏览器但线程仍在运行时。如何在浏览器关闭时杀死/停止asp.net中的所有线程。

2 个答案:

答案 0 :(得分:3)

当浏览器关闭时,没有消息发送到服务器,因此没有可抢占的抢先事件。您要做的是为线程提供一个变量,指示用户上次从服务器请求资源的时间。自用户上次请求到期后经过一定时间后,您将结束线程。然后,在您的HTML中添加一个javascript ajax请求,ping您的服务器以保持线程活动。

显然,您需要调整超时以平衡用户的性能和可靠性。

答案 1 :(得分:2)

您可以在服务器中执行KillThreads操作,并在检测到用户尝试关闭客户端中的浏览器时使用AJAX调用它。