我正在提供包含图片的.aspx。我还没想出如何强制ie7(6)一直获取图像(例如重定向)。
到目前为止,我在.aspx页面上添加了以下标记:
<META Http-Equiv="Cache-Control" Content="no-cache">
<META Http-Equiv="Pragma" Content="no-cache">
<META Http-Equiv="Expires" Content="0">
然而,如果我点击URL栏并点击回车或重定向到同一页面,IE将不会重新获取图像。
我错过了什么?
其他注释:
ISS 5
IE7 7.0.5730.13
Works on Firefox and everywhere else but IE
重定向代码:
Response.Redirect("url...", true);
答案 0 :(得分:3)
您可以在图片网址的末尾添加一个唯一标记,以确保未点击缓存。例如
<img src="/path/to/image.jpg?<%=DateTime.Now.Ticks.ToString()%>" />
当然,如果你正在使用WebForms,你会想要做一些不同的事情,但仍然沿着这些方向。
答案 1 :(得分:1)
IIS可能会覆盖这些设置。进入IIS管理器并找到图像所在的文件夹。右键单击并选择“属性”。单击HTTP标头选项卡。选中“启用内容过期”和“立即过期”选项。
答案 2 :(得分:1)
有关HTTP缓存如何工作的说明,以及如何缓存或不缓存文件,请参阅http://www.enhanceie.com/redir/?id=httpperf。
答案 3 :(得分:0)
我不确切知道为什么,但我们在PageLoad事件中解决了将这些行添加到aspx.cs文件中的类似问题:
//Turn off cache
Response.Cache.SetCacheability(HttpCacheability.ServerAndNoCache);
Response.Cache.SetNoStore();
解决问题也很有用
http://royriojas.blogspot.com/2009/04/dealing-with-back-button-and-secured.html