簡體   English   中英

asp.net可以關閉應用程序創建的線程嗎?

[英]Can asp.net shut down an application-created thread?

該線程將在每個Application_Start事件上啟動。

這將是一個應該持續運行的監視線程。

因此,即使應用程序關閉,一旦重新啟動,線程也將啟動,確保其始終運行。

但是,我需要確保在應用程序運行時不會停止/關閉該線程。

簡而言之,有人知道asp.net是否可以在不停止/回收應用程序的情況下關閉此類線程。

就設計而言,您不應該依賴asp.net運行這樣的線程。 應用程序回收之類的小事會給您帶來很多麻煩。

而是創建一個Windows服務來執行線程。 這樣,您不必擔心。

更新
我只是想添加更多信息。

IIS能夠跨多個線程和進程執行您的應用程序。 標准站點安裝通常只分配一個進程(又稱Web花園),該進程旋轉大約20個線程來處理請求處理。

但是,任何IIS管理員都可以輕松地將更多進程添加到組合中。 當站點可以因為請求處理時間太長或處理程序線程數不夠而可以處理單個進程時,或者當應用程序有足夠的問題使單個線程處理整個應用程序的問題時,他們通常會這樣做,這是臨時措施經常處理。

如果您在應用啟動時啟動了一個線程,那么它將為站點具有的每個工作進程創建一個線程。 對於您或您的繼任者而言,這可能是意外行為。

另外,監視應用程序幾乎總是與它們監視的應用程序完全分開。 主要原因之一是,如果受監視的進程死亡,掛起或以其他方式失去響應,則監視應用程序本身仍需要繼續並記錄此信息。 否則,受監視的過程可能會很好地監視監視應用程序本身。

因此,請幫自己一個忙,並將其轉移到自己的過程中。 在IIS服務器上執行此操作的最佳方法是創建Windows服務,並為其賦予適當的執行權限以執行所需的操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM