如何强制图像一直加载,ASP.NET

时间:2009-06-11 21:02:07

标签: asp.net internet-explorer internet-explorer-6 internet-explorer-7

我正在提供包含图片的.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);

4 个答案:

答案 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