Asp.net 当用户关闭浏览器窗口时,中的线程会发生什么情况?
我用ASP.NET写了一个网站Asp.net 当用户关闭浏览器窗口时,中的线程会发生什么情况?,asp.net,multithreading,Asp.net,Multithreading,我用ASP.NET写了一个网站 有一个线程在我的网站的一页。在线程运行期间,当用户关闭浏览器窗口时,线程会发生什么情况?这个线程停止运行了吗 您的服务器并不真正知道客户端做了什么 如果客户端启动了一个请求,服务器将处理该请求并在任何情况下返回响应。我认为您提出的问题不是您想要回答的问题 问题的答案是“是”。因此,从ASPX页面或MVC控制器开始的任何操作都将保持运行,即使客户端的浏览器已关闭(请注意,如果这是您的问题,则这是重复的) 但是,答案是“您可以,但不应该,因为线程可能随时终止”,这可能
有一个线程在我的网站的一页。在线程运行期间,当用户关闭浏览器窗口时,线程会发生什么情况?这个线程停止运行了吗 您的服务器并不真正知道客户端做了什么
如果客户端启动了一个请求,服务器将处理该请求并在任何情况下返回响应。我认为您提出的问题不是您想要回答的问题 问题的答案是“是”。因此,从ASPX页面或MVC控制器开始的任何操作都将保持运行,即使客户端的浏览器已关闭(请注意,如果这是您的问题,则这是重复的)
但是,答案是“您可以,但不应该,因为线程可能随时终止”,这可能是您不想要的。请查看这段有趣的对话。根据这段对话,即使您关闭了它,它也不会停止。
您可以使用假长时间运行的线程(thread.Sleep(100000))和少量日志来尝试。线程不会停止其执行(因为它与http请求是异步的)。当然,它会受到ASP.NET规则的影响,所以对于一个长时间运行的合理任务来说,这不是一个好主意。“我的网站的一个页面中有一个线程”的意思是。。你正在创建一个线程?线程将一直运行到完成为止。若你们在其中加入了一个无休止的while循环,它将运行“永远”提示:google的“asp.net当用户关闭浏览器时会发生什么”;)。NET没有安全的方法来阻止线程执行任意代码。它将继续运行。