Iis

IIS - 無法刪除曾經與網站關聯的目錄

  • January 20, 2010

我的一個同行有一個奇怪的 IIS 錯誤,我能夠修復它,但無法解釋問題的原因。這是背景。

Server1 上有一個 IIS 伺服器,在主網站下有一堆 ASP.Net 應用程序。主網站,當您訪問 http:\Sever1 時得到的那個,曾經是它自己的 ASP.Net 應用程序,它與目錄 C:\MainWebsite 相關聯。然後將在 http:\Sever1/AppName 下訪問子 ASP.Net 應用程序。主網站現在重定向到另一個伺服器,但目錄被留下了。當目錄 C:\MainWebsite 被刪除時,沒有一個子 ASP.Net 網站可以工作,給出關於無法找到這個或那個 .Net 類型的錯誤。在多次重新啟動 IIS 並嘗試為缺少的類型添加 dll 後,我讓他在 C:\MainWebsite 創建一個新的空目錄並重新啟動 IIS。現在所有子網站都可以正常工作。

發生這種行為的原因是什麼,是否有某種關聯我必須打破或其他技巧以允許刪除“不需要的”目錄 C:\MainWebsite?因為其他人可能會嘗試刪除該文件夾並重新開始整個循環。

我需要更多資訊,並且可能必須在伺服器上四處探索才能找到這個。我認為它可能必須執行“子”站點的配置方式,但我不知道有什麼具體會導致這種情況。

但是,要回答您的最後一個問題,您可以通過更改安全設置來使該目錄無法刪除。請參閱:如何使文件真正不可變(不可刪除和只讀)?

IIS 通常擅長釋放鎖,但在極少數情況下它會保持鎖定狀態。FTP 服務(另一種已經到位的服務)可能保留了文件的句柄。

這不會經常發生,但如果您再次遇到它,請使用 www.sysinternals.com 的 Process Explorer。搜尋文件或文件夾名稱,它會告訴您哪個應用程序擁有該文件的句柄。如果你願意,你也可以殺死搖桿。殺死文件句柄時要非常小心,因為您可以快速關閉伺服器。首先,您想找出哪個程序有句柄,這將為原因提供線索。

引用自:https://serverfault.com/questions/65284