2010-04-05 80 views
1

我知道,無論何時添加/刪除/修改「App_Code」,「App_GlobalResources」和「bin」目錄中的任何文件,ASP.NET都會重新編譯並重新啓動應用。Asp.Net - 它什麼時候重新啓動應用程序

我的問題是:「當前正在執行更改的任何線程會發生什麼?」

他們完成了嗎?是拋出一個Thread.Abort異常嗎?

如果應用程序本身對這些目錄中的任何一個進行更改會發生什麼?

+0

這也適用於web.config。當您無法訪問IIS時,觸摸web.config是一種強制執行回收操作的簡便方法。 – harpo 2010-04-05 17:56:55

回答

3

所有當前正在執行的線程在重新編譯之前都會優雅地完成。

Here's the docs

當一個工作進程請求 循環,WWW服務發起 重疊的循環,創建一個新的 工作進程,以取代舊的。 雖然新工作進程是 開始,但舊進程繼續到 服務請求。在新進程 啓動併成功初始化後, WWW服務將指示舊的工作進程 關閉。在此 點,舊工作進程停止 接受來自HTTP.sys 的新請求並開始關閉。 WWW 服務允許老工作進程 一個配置的時間段,其中 在 工作進程關閉之前完成處理其請求。如果 WWW服務在配置的時間內未能關閉 ,則WWW服務將終止工作人員 進程。

+0

非常感謝!這正是我所期待的。 – 2010-04-05 17:58:58

相關問題