通过ARR模块处理磁盘caching。 如何释放它而不回收应用程序池?

我在目录c:\ arrCache_media \ video中获得caching的磁盘文件。 IIS仍然处理该文件,所以我不能重命名,删除或重写该文件。 但我可以将文件移动到另一个文件夹,所以我尝试这个途径来解决我的问题。

在这里输入图像说明

我将我的文件entcadieux1.wmv.full移动到另一个文件夹名为Trash的pathc:\ Trash中。 当我移动文件IIS仍然得到该文件的句柄。 如果您查看过程监视器IIS的屏幕截图,则可以在垃圾目录中获取该文件。

在这里输入图像说明

如果我删除该文件,iis将获取系统垃圾文件夹中的文件。

在这里输入图像说明在这里输入图像说明

我的问题是,ARRcaching系统lockingcaching文件夹中的文件是不正常的。 我可以在读取模式下打开文件。 所以他可能是逻辑,文件的句柄将在写入过程后释放。 在这种情况下,我认为这个问题可以解决。 该文件可以手动删除,也可以通过代码删除,iis将在Web场服务器上发送请求。 我知道如果我回收应用程序池,iis将释放句柄,但我不会不释放应用程序池,因为这将影响超过200个站点

我只是潜在的解决我的问题。 经过几个小时的testing,代码全部没有成功。 testing显示,ARR的主要caching将对控制器文件保持“locking”状态。 然而,二级caching更宽容(幸运的是)它允许我们删除没有它们的文件,它被IIS“locking”。 那么,我可以说,我完全删除了我的服务器ARR上的主caching,只剩下二级caching。 到目前为止,testing是成功的。