我有一個後臺線程的asp.net應用程序。線程在應用程序啓動時啓動,並在應用程序結束時正常停止。我在共享主機上運行網站。不幸的是,有時應用程序在結束時不會觸發Application_End事件。我認爲線程會被殺死,但事實並非如此。我目前有4個線程在後臺運行。應用程序開始前三次,當前應用程序會話中一次。如何確保在應用程序結束時關閉線程?是否有線程檢查應用程序是否已重置或重置了的方法?或者有沒有辦法在應用程序啓動時檢查這些流氓線程並殺死它們?提前致謝。如何確保後臺線程在應用程序結束時結束?
1
A
回答
4
使用ThreadPool.QueueUserWorkItem()在後臺執行代碼,當AppDomain卸載時將結束代碼。我假設你正在使用背景工作,根據標籤,我會建議嘗試這個。 (考慮加入示例代碼繪製出更好的答案。)
管理線程池:http://msdn.microsoft.com/en-us/library/0ka9477y.aspx
前景/背景主題:http://msdn.microsoft.com/en-us/library/h339syd0.aspx
相關問題
- 1. 線程結束,結束整個程序?
- 2. 在後臺線程上結束活動
- 3. 永不結束後臺線程?
- 4. Pasue控制檯應用程序結束
- 5. iOS應用程序在後臺任務結束後運行
- 6. 如何在睡眠時結束線程?
- 7. 結束Ember應用程序
- 8. 如何使用線程正確結束程序?
- 9. Xamarin.IOS應用程序保持開始和結束許多線程
- 10. 應用程序未能正常結束並在後臺運行
- 11. 如何結束程序(Python)?
- 12. 保存程序結束時的值C#
- 13. 如何知道後臺線程的結束?
- 14. 程序在用戶輸入後結束
- 15. 僅在線程結束後繼續
- 16. 如何在win中結束線程CF
- 17. 如何在通話結束後啓動應用程序?
- 18. http.Clientrequest.abort()結束程序
- 19. 如何在通話結束時調用/啓動應用程序?
- 20. 我的線程何時結束?
- 21. 正確結束java中的線程
- 22. 如何在應用程序結束後將數據保存在數組中?
- 23. 如何在應用程序結束時打開顯示器?
- 24. 如何在結束MVC應用程序時刪除文件?
- 25. 如何確定Web應用程序的生命結束?
- 26. 活動指示器動畫在應用程序從後臺恢復時結束
- 27. 正常結束基於控制檯的多線程程序
- 28. 結束了控制檯的NodeJS程序
- 29. 方法結束後執行線程嗎?
- 30. 線程結束後會發生什麼?
究竟如何開始你的線程? – 2010-08-12 04:09:22
鑑於應用程序中的某些線程仍在運行,很顯然,應用程序並沒有「結束」,只有你認爲'前景'線程有。如果您爲後臺任務使用System.Threading.Threads,則可以將它們的IsBackground屬性設置爲true。 – Ani 2010-08-12 04:12:13
謝謝Ani,我不知道這個屬性,我認爲這看起來會解決問題。 – Noel 2010-08-13 16:02:55