2013-07-18 117 views
0

我有一個ASP.NET Web應用程序的部署工作流程,該工作流程始於將app_offline.htm文件放到我的Web應用程序的目錄中。儘管如此,我通常會得到這樣的錯誤:在app_offline.htm到位後,IIS需要多長時間才能關閉?

The process cannot access the file ... because it is being used by another process.

表明IIS進程仍在儘管該app_offline.htm文件是在原地踏步。如果我遠程桌面到服務器,並做了人工iisreset或關閉其GUI IIS(或後手動把app_offline.htm文件那裏只是等待幾分鐘,然後工作流正常工作。

那麼,如何長時間採取IIS關閉後app_offline.htm到位?

+0

我遇到了與MVC應用程序相同的問題。這可能會有所幫助或提供一些指導:http://blog.kurtschindler.net/post/more-app_offlinehtm-woes – bdoshi

+0

@bdoshi - 不幸的是,這篇文章處理的是一個完全不同的問題。 – Venemo

回答

0

我不知道,但我想知道,所以我進行了一些測試...

的影響是非常直接的,但它可能由於額外清理代碼需要一些時間讓IIS應用程序實際關閉,即使在app_offline.htm生效後,文件也會被鎖定一段時間。

實際的文件系統事件信息只需要幾毫秒即可傳播。

procmon

+0

> *即使在app_offline.htm生效後,文件也會被鎖定一段時間。* 是的,但是**多少時間? – Venemo

+0

@Venemo不可能告訴你,你應該明白這一點。以下是您可以執行的操作,您可以輪詢IIS網站的狀態,您可以嘗試移動和刪除文件,並處理可能發生的資源共享違規,但無法得出確切的答案,因爲它取決於不可能的東西肯定知道。您是否嘗試過實際查詢用於管理IIS基礎架構的IIS API? MSDeploy做什麼? –

+0

您可能會注意到這是一個4歲的問題。我不再在需要處理這個問題的公司工作。所以,不幸的是,我無法嘗試你的建議。 – Venemo

相關問題