在IIS中删除文件时出现错误

3

我在删除存档文件夹中的文件时遇到了这个错误。我正试图删除由IIS Media Services使用Expression Encoder 4 Pro SP2创建的存档文件/文件夹。

无论是通过C#代码还是手动方式删除这些文件,我都会收到“该文件已在IIS工作进程中打开”的错误提示。

我尝试将此文件移动然后再删除它,使用FileStream的SetLength函数将文件长度设置为0,但均未成功。

我尝试了此方法,但需要重启计算机,而我无法重启我的机器。重启会停止我的其他平滑流式传输视频。

我的机器是Azure虚拟机,存储空间有限。目前可用空间为0字节,我无法启动编码过程。

请问您能告诉我如何解决这个问题吗?


2
你尝试过或者说只是回收应用程序池是否可行?如果可以,那可能会解决问题。你需要等待旧工作进程被处理。这取决于它如何快速地将会话等转移到新的工作进程。 - Silvermind
回收应用程序池并没有解决我的问题。 - waghekapil
那么可能是其他东西锁定了这些文件吗?也许使用工具检查一下是什么锁住了你的文件?但这只是一个猜测。 - Silvermind
4个回答

5

感谢Silvermind

最终我解决了问题。不过遗憾的是,在此之前我重启了虚拟机。IIS Worker Process锁定了我想要删除的文件。为了删除这些文件,我在 IIS 中停止了媒体服务发布点,然后尝试删除文件,结果成功了!


3

我也遇到了同样的问题,只需重新启动网站,一切都恢复正常了,现在我可以做之前被阻止做的事情。


2
或者在IIS管理器中 > 应用程序池 > 停止/启动应用程序。 - cactuschibre

2
您无需重启网站,有一个简单的解决方案。请查找下面的图片。 Stop the IIS image 您需要点击“停止站点”。如果仍然无法正常工作,请单击“显示所有应用程序”,然后单击“全部停止”。

0

对于 .Net Core 应用程序,您需要在 IIS 中停止相应的应用程序池。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接