我有一个小的方法,可以在exif标签不起作用时为我旋转图像。当我返回这些图像时,我会将一个缓存断路器附加到该图像上,例如。 /photos/image.jpg?id=746fb355-473e-4d52-bf87-102ef2bf02f5 在使用iisExpress的本地计算机上,它可以100%运行。 在运行IIS 8.5的开发服务器上,它可以100%运行。 当然,在运行IIS 10的生产环境中,它无法按预期工作。
当我查看服务器上的物理位置时,图像正在正确旋转/写入,但是IIS管理器正在将旧图像缓存在某个地方,而且我似乎无法正确获得设置。在我的web.config中,我尝试如下设置输出缓存:
<staticContent>
<clientCache cacheControlMode="DisableCache" />
</staticContent>
<caching enabled="true">
<profiles>
<add extension=".jpg" policy="DontCache" kernelCachePolicy="DontCache" varyByQueryString="*" />
</profiles>
</caching>
没有解决。尝试了不同的口味,效果相同。每次我都进行了iisreset,因为我注意到仅在重新启动站点时缓存并未被杀死或无效。
我能想到的唯一特殊情况是我的照片文件夹是一个符号链接,因此文件夹结构是 C:\网站\照片 C:\ websites \ mySite_build_2 \ photos <-返回图片的符号链接。我这样做是为了不必到处移动图像。 任何意见,将不胜感激。尝试避免代码修复,因为我认为这确实是服务器/配置问题。