
我確信會遇到這樣的情況:使用 IIS 管理員停止 IIS 不允許我存取正在使用的 asp.net bin 目錄文件,但當停止萬維網發布服務時,這些文件就可以存取。
有人問,他們不是在做同樣的事情嗎?誰能證實它們是同一個東西...我一直以為它們是兩個不同的東西...
我特別談論 Windows Server 2003 上的 IIS6(以防它在不同伺服器或 IIS 版本中發生變更)
謝謝你!
答案1
這篇文章在這裡可能有幫助。
當您在 IIS 管理員中右鍵單擊伺服器並選擇“重新啟動 IIS”時,它會執行iisreset
.運行iisreset
不會重置 HTTP 堆疊,它只是卸載並重新載入 IIS 進程。
因此,相信iisreset
不會重置W3C服務。
答案2
停止或重新啟動 IIS 只是從記憶體刷新 IIS 進程,並停止偵聽。它實際上不會重新啟動 W3C 服務,因此該服務可以保持檔案鎖定。
答案3
我很困惑。我在 IIS 管理員中沒有看到停止 IIS 的選項,只有重新啟動它的選項。您的意思是要在 IIS 管理員中停止網站嗎?如果這就是你的意思,那麼我想我有一個答案:
我猜您的網站正在「隔離」模式(IIS 5 術語)下運行,因此它在自己的應用程式集區中運行,這會為應用程式集區產生單獨的 w3wp.exe 進程。停止網站不會停止或終止應用程式池,因此您的文件仍在使用中並且無法存取。相反,停止 WWW 服務會停止網站和應用程式池,從而終止 w3wp.exe 進程,從而釋放正在使用的檔案。