我有一个后台线程的asp.net应用程序。应用程序启动时,它是正常停止的应用程序结束时的线程开始。我运行一个共享主机的网站。不幸的是,有时它结束时,应用程序不会触发Application_End事件。我会认为线程会被杀死反正,但事实并非如此。我现在有4个线程在后台运行。三,从以前的时间应用从当前的应用程序会话启动和1。我怎样才能确保线程关闭应用程序结束时?有没有办法为线程或检查应用程序是复位的中有的复位?或者是有没有办法在应用程序启动时要检查这些流氓线程和杀了他们?由于事先。

有帮助吗?

解决方案

使用ThreadPool.QueueUserWorkItem()的背景下,这将在应用程序域卸载时结束执行代码。我假设你正在使用一个BackgroundWorker,根据标签,我会建议,而不是试图此。 (考虑添加样本代码绘制出更好的答案。)

托管线程池: http://msdn.microsoft.com/en-我们/库/ 0ka9477y.aspx

前景/背景主题: http://msdn.microsoft.com/ EN-US /库/ h339syd0.aspx

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top