我有一个Windows Server 2008 R2为我运行几个网站,而开发我通常发布更新到这台服务器。 现在,我试图发布一个更新,但它失败说,它有一个文件在使用中,错误信息如下:
"The action can't be completed because the file is open in IIS Worker Process" "Close the file and try again."
我试图停止网站,但这并没有帮助。 该站点与应该保持联机的站点在同一个应用程序池中运行,因此回收可能会破坏正在运行的站点(如果这是错误的,请更正我)。
问题是:有没有办法“释放”放在文件上的锁而不停止其他正在运行的站点?
你从哪个应用程序得到这个消息?
似乎更有可能的是,应用程序本身(或应用程序框架)locking的文件比应用程序池本身。
将来,在自己的应用程序池中运行每个站点,并考虑在自己的应用程序池中运行任何需要与其他应用程序分别重新启动的应用程序。
应用程序池是健壮性的单位; 应用程序(或ASP.Net应用程序的AppDomain)是一个具有逻辑但不完全分离的容器。
您必须停止IIS中的WORKER。 然后删除该文件。
停止IIS服务器中的所有应用程序池,然后在任务pipe理器中删除所有IIS工作进程。