代码之家  ›  专栏  ›  技术社区  ›  Newbie

如何强制始终加载图像,ASP.NET

  •  2
  • Newbie  · 技术社区  · 17 年前

    我正在为包含图像的.aspx提供服务。我还没有弄明白如何强制ie7(6)一直获取图像(例如重定向)。

    <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 回复  |  直到 16 年前
        1
  •  3
  •   hugoware    17 年前

    您可以在图像URL的末尾添加一个唯一的标记,以确保不会命中缓存。例如

    <img src="/path/to/image.jpg?<%=DateTime.Now.Ticks.ToString()%>" />
    

    当然,如果您使用的是WebForms,您可能会希望做一些不同的事情,但仍然遵循这些原则。

        2
  •  1
  •   Paul Mrozowski    17 年前

    IIS可能正在覆盖这些设置。进入IIS管理器并找到图像所在的文件夹。单击鼠标右键并选择“属性”。单击HTTP标题选项卡。选中“启用内容过期”和“立即过期”选项。

        3
  •  1
  •   EricLaw    17 年前

    看见 http://www.enhanceie.com/redir/?id=httpperf 有关HTTP缓存的工作原理以及如何缓存或不缓存文件的说明。

        4
  •  0
  •   roy riojas    17 年前

    我不知道确切的原因,但我们解决了在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

    推荐文章