【问题标题】:How to verify whether the images are cached or not in asp.net mvc 3?如何验证图像是否在 asp.net mvc 3 中缓存?
【发布时间】:2013-01-23 07:59:54
【问题描述】:

我希望缓存我的 mvc 3 应用程序中的图像。我在 web.config 中写了一个缓存配置文件:

caching>
  <outputCacheSettings>
    <outputCacheProfiles>
      <add name="ImageCache" duration="10" location="Server" noStore="true"/>
    </outputCacheProfiles>
  </outputCacheSettings>
</caching>

并在返回图片的方法中添加了OutputCacheAttribute:

[OutputCache(CacheProfile = "ImageCache")]
public FileContentResult GetImage(int productId) { /* implementation */ }

问题:

1) 如何验证图片是否缓存?

2) 最好的位置是什么:客户端、服务器还是任何?我的应用程序是一个网上商店,每张图片都附在产品上。我认为每个用户都应该看到相同的缓存内容。有什么建议吗?

3)也许这个真的很傻:客户端和浏览器缓存有什么区别?

提前感谢您的帮助!

【问题讨论】:

    标签: asp.net asp.net-mvc asp.net-mvc-3 caching


    【解决方案1】:

    1.) 您可以随时在浏览器中检查它是否在对站点的后续请求中获取图像。 例如,在 chrome 中,您可以按 F12 打开开发者工具,然后在网络选项卡下查找您的图像。 Http status 304(Not modified) 将是您正在寻找的那个。

    2.) 不太确定不同设置的优缺点。

    3.) 客户端缓存意味着资源缓存在您的浏览器中。基本上,您的浏览器不必重新下载图像。服务器端意味着它可以被服务器/代理缓存。例如,如果您必须查询数据库中的图像,如果图像已经在服务器缓存中,则不再需要。但是客户端仍然必须始终从服务器获取它。

    【讨论】:

      猜你喜欢
      • 2010-12-09
      • 2023-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多