【问题标题】:I draw diagrams, but I see old image on the new page我绘制图表,但在新页面上看到旧图像
【发布时间】:2012-06-06 11:34:49
【问题描述】:

我正在开发一个 C# Web 项目。我在本地 Web 服务器上运行它。 我画画。我显示图像如下:

bitmap.Save(Server.MapPath("diagram.jpg"), ImageFormat.Jpeg);
Image1.ImageUrl = ResolveUrl("diagram.jpg");

我没有看到新图像。只有一个旧的,我在更改图像名称后拥有的 (比如说,我将 diagram.jpg 更改为 diagram2.jpg)。 浏览器是火狐。 C# 中的设计页面很简单。页面上只有图像和几个文本框。 没有 UpdatePanel 之类的。 有缓存的东西......但是如何与之抗争......

【问题讨论】:

  • 您应该刷新您的网页以查看新内容。

标签: c# asp.net


【解决方案1】:

但是如何与之抗争。

始终使用单独的路径/名称。在某处 Pug 一个 GUID。就这么简单。不能缓存不同的文件。

【讨论】:

    【解决方案2】:

    我不确定ResolveUrl 做了什么,但请尝试将查询字符串添加到图像 url,以便页面始终获得“新鲜”文件。像这样的:

    Image1.ImageUrl = ResolveUrl(string.Format("diagram.jpg?v={0}", Guid.NewGuid()));
    

    【讨论】:

      【解决方案3】:

      您可以将图像文件另写为

      diagram.jpg?ver=2
      

      保留相同的图像文件,但强制浏览器更新它。

      【讨论】:

        【解决方案4】:

        如果图像具有相同的名称和 URL,浏览器会从缓存中选择图像并显示相同的图像以更快地加载页面。

        即使您更改图像服务器端,也会显示相同的缓存图像,直到您清除浏览器的缓存。您可以使用查询字符串来更改图像网址,如下所示。

        Image1.ImageUrl = ResolveUrl("diagram.jpg?" + DateTime.Now.Ticks.ToString());
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多