我敢肯定遇到的情况是,使用IISpipe理器停止IIS不允许我访问正在使用的asp.net bin目录文件,但是在停止万维网发布服务时,可以访问这些文件。
问题被问到,他们是不是在做同样的事情? 任何人都可以证实他们是同一件事…我一直认为他们是两回事
我特别谈论Windows Server 2003上的IIS6(以防在不同的服务器或IIS版本中更改)
感谢堆!
这个文章在这里可能会有帮助。
当您右键单击IISpipe理器中的服务器并select“重新启动IIS”时,它将执行iisreset
。 运行iisreset
不会重置HTTP堆栈,它只是卸载并重新加载IIS进程。
因此,相信iisreset
不会重置W3C服务。
停止或重新启动IIS只是从内存刷新IIS进程,并停止监听。 它实际上并不重新启动W3C服务,所以该服务可以保持文件locking。
我很困惑。 我看不到在IISpipe理器中停止IIS的选项,只能select重新启动它。 你的意思是你在IISpipe理器中停止网站吗? 如果这就是你的意思,那么我想我有一个答案:
我猜你的网站运行在“隔离”模式(IIS 5术语),所以它运行在它自己的应用程序池中,这为应用程序池产生了一个单独的w3wp.exe进程。 停止网站不会停止或终止应用程序池,因此您的文件仍在使用中,无法访问。 相反,停止WWW服务停止网站和应用程序池,杀死w3wp.exe进程,因此释放正在使用的文件。