【问题标题】:Problem with cache缓存问题
【发布时间】:2011-08-12 06:37:10
【问题描述】:

我的缓存有问题。

当我更改 Image 控件的 ImageUrl 属性时,有时浏览器会使用缓存,因此不会显示新图像。

如何解决这个问题,以便在更改 ImageUrl 属性后,显示新图像?

这是我的代码:

字符串 url = 一些代码;

imgAvatar.ImageUrl = 网址;

【问题讨论】:

    标签: asp.net image caching


    【解决方案1】:

    您可以通过添加以下选项来关闭页面缓存

          Response.Cache.SetCacheability(HttpCacheability.NoCache);
            Response.Cache.SetExpires(DateTime.Now.AddSeconds(-1));
            Response.Cache.SetNoStore();
            Response.Buffer = true;
            Response.CacheControl = "no-cache";
            Response.AddHeader("Pragma", "no-cache");
            Response.AppendHeader("Cache-Control", "no-store");
            Response.Expires = -1441;
    

    【讨论】:

      【解决方案2】:

      另一种避免缓存单个组件的方法是 Joel 在早期的 StackOverflow 播客中讨论的内容:在要避免缓存的组件的 url 末尾附加一个唯一标识符作为 http 参数。然后在需要确保用户获得新版本时更新该标识符。

      因此,如果您的网址是“http://www.mysite.com/images/myimage.png”,那么您可以使用“http://www.mysite.com/images/myimage.png?v=20110819a”

      注意:通常这个技巧更适用于 Javascript 和/或 CSS,而不是图像。

      【讨论】:

        猜你喜欢
        • 2012-05-20
        • 1970-01-01
        • 1970-01-01
        • 2020-11-04
        • 2011-10-30
        • 2011-04-07
        • 2021-10-07
        • 2016-06-02
        相关资源
        最近更新 更多