首页 > 解决方案 > IIS 重命名图像仍显示以前的内容 - 缓存问题?

问题描述

在我们使用 IIS 8 的网站上,我们在图像管理屏幕上提供已完成的 jpgs。图像位于通过虚拟文件夹在 IIS 中连接的单独硬盘驱动器上。所有照片均以实体 ID 后跟照片编号命名。所以:

Photo 1: 58935928.1.jpg
Photo 2: 58935928.2.jpg
Photo 3: 58935928.3.jpg

如果我想将照片 3 重新排序到照片插槽 1,我必须将照片 3 重命名为 58935928.3.jpg.TEMP,然后将照片 1 重命名为 58935928.3.jpg,然后将 58935928.3.jpg.TEMP 重命名为 58935928.1.jpg。这工作正常。但是,在查看页面并刷新页面时,为 58935928.1.jpg 返回的图像仍然是重命名之前的旧图像。大约 5-10 分钟后,刷新将显示正确的图像。

我们认为这是一个浏览缓存问题。Ctrl-F5 强制刷新没有修复它,并且在页面上设置没有缓存元数据也没有。我们注意到,当这种情况发生时,我们转到不同的浏览器,图像仍然显示不正确。这导致我们考虑服务器端缓存,因为新的浏览器实例也得到了错误的图像。

我们进入 iis 并将输出缓存配置为在内核和用户上没有缓存,只是为了看看它是否会修复它。没有不同。我们不想太努力地禁用所有内容的缓存,只要 jpg 就可以了。

为什么会这样?这给我们的用户造成了混乱,因为他们重新排序图像并且它们实际上在文件系统上重新排序,但 IIS 似乎在提供旧图像而不是新图像。

标签: windowscachingiisiis-8windows-server-2012

解决方案


当我说该文件夹作为虚拟文件夹安装时,我错了。它实际上是一个已安装的卷。我看不出这有什么不同,但是一旦我将它作为已安装的卷删除并使其成为虚拟文件夹,一切正常。

所以在我的情况下,这是因为所有照片都在一个已安装的卷上导致了这个问题。


推荐阅读