IIS 重命名的图像仍然显示以前的内容-缓存问题?

IIS 重命名的图像仍然显示以前的内容-缓存问题?

在我们采用 IIS 8 的网站上,我们在图片管理屏幕上提供已完成的 jpg 图片。图片位于单独的硬盘上,该硬盘通过虚拟文件夹连接到 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 似乎在提供旧图像而不是新图像。

相关内容