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

时间:2018-05-09 17:11:57

标签: windows caching iis iis-8 windows-server-2012

在我们使用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并将输出缓存配置为kernal和用户的无缓存,只是为了查看它是否会修复它。没有不同。我们不想这么努力以至于禁用所有内容的缓存,只需jpgs即可。

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

1 个答案:

答案 0 :(得分:0)

当我说文件夹作为虚拟文件夹挂载时,我错了。它实际上是一个装载量。我不知道这是如何产生影响的,无论如何,一旦我将其作为已安装的卷删除并使其成为虚拟文件夹,一切正常。

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