c# - 在mvc中清除浏览器缓存中的对象

标签 c# asp.net-mvc

我有一个 C# 中的 MVC 应用程序。我有一个包含大量图像的页面。页面加载后,所有图像都将存储在浏览器的缓存中。但是当我更改图像时,它确实会替换旧图像。由于新旧图像具有相同的名称,并且图像是从浏览器的缓存中获取的。但是,如果我使用 Ctrl+F5 刷新页面,则会呈现新图像。有什么方法可以让我只从浏览器的缓存中删除旧图像吗?我无法删除浏览器的所有缓存,因为它包含许多应该缓存的图像。仅应从正在更改的缓存中删除该图像。


非常感谢您的所有回复。有几点我应该在这里提到: 1. 我无法使用查询字符串,因为该单个页面包含许多具有不同图像的部分,并且该特定图像在不同部分中呈现。 2. 我无法使用图像的 url 添加新的 guid 或日期时间,因为如果我这样做,那么每次刷新页面时都会发生新的服务器调用,并且图像将来自服务器,并且该页面在多个页面中呈现相同的图像地方。

因此,为了减少服务器调用并提高性能,我必须从浏览器缓存中仅删除该图像。

最佳答案

图像是否具有唯一值,例如版本或创建日期时间?如果是这样,您可以将其添加到文件名或作为查询字符串。浏览器将缓存图像,但 QueryString 中的新值将请求新图像。

关于c# - 在mvc中清除浏览器缓存中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8183590/

相关文章:

c# - 删除 List<string> 开头和结尾的空行?

asp.net-mvc - 如何让 ELMAH 与 ASP.NET MVC [HandleError] 属性一起使用?

c# - 为什么for语句中的随机方法返回相同的结果?

c# - 将 C++ 结构转换为 C# 结构

C# Httpclient FormUrlEncodedContent 编码

javascript - Ondropdown 更改动态设置的标签值熄灭

asp.net-mvc - 如何在 Web API ASP.Net core 中对异常过滤器进行单元测试。不想模拟 onException 方法

c# - Xdocument - 读取带有前缀的属性值

c# - 根据登录用户缓存部分内容

javascript - 在javascript中从Kendo Window刷新将参数传递给Controller Action