我有运行多个线程的网站。当用户关闭浏览器但线程仍在运行时。如何在浏览器关闭时杀死/停止asp.net中的所有线程。
答案 0 :(得分:3)
当浏览器关闭时,没有消息发送到服务器,因此没有可抢占的抢先事件。您要做的是为线程提供一个变量,指示用户上次从服务器请求资源的时间。自用户上次请求到期后经过一定时间后,您将结束线程。然后,在您的HTML中添加一个javascript ajax请求,ping您的服务器以保持线程活动。
显然,您需要调整超时以平衡用户的性能和可靠性。
答案 1 :(得分:2)
您可以在服务器中执行KillThreads操作,并在检测到用户尝试关闭客户端中的浏览器时使用AJAX调用它。