2011-08-04 49 views
1

運行我正在做一個線程將觸發文件的App_GlobalResources文件的改變,這又將導致應用程序重新編譯,這將中止所有其它可能正在運行的線程。 我需要這個線程將中止其他線程等待,直到其他所有線程都沒有運行。我已經在(Hashtable)Application [「ThreadList」]中註冊了所有線程,但我似乎無法從Threads訪問應用程序。有任何想法嗎?Asp.net C#:檢查是否其他線程在線程

回答

2

據我所知,ASP.NET不會中止當前正在運行的工作線程將其重新編譯之前。它會在重新啓動AppDomain之前開始排隊請求並等待現有請求完成處理。

更新:

如果你的資源,每天都在變化不是他們不應該在RESX文件的硬編碼。創建一個新的資源提供者,從數據庫或外部文件加載它們。

+0

這是正確的。基本上,你不需要擔心任何事情。 Asp.net將優雅地完成所有當前的請求(在線程上運行),然後重新啓動應用程序池。 – Andy

+1

我不斷收到來自運行像線程異常「線程終止」每次我改變導致應用recompile.Why是,任何文件? – Eilev

+0

我無法想象這是一件會經常發生(但可能是錯誤的)......我的意思是:你甚至不需要擔心這個?另外...搞亂ASP.NET中的線程(或者根本不是這樣)並不是爲了讓人膽戰心驚! –