如何在ASP.NET MVC中缓存外部静态内容

时间:2013-10-03 15:57:28

标签: asp.net asp.net-mvc caching browser-cache google-pagespeed

在检查网页速度时,Google Page speed建议我“利用浏览器缓存”。因为我在.config文件中使用此代码在我的MVC应用程序中启用了缓存。

<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00"/>

在此之后,正在缓存来自我自己的域的静态内容的缓存,但它正在运行。

但是,来自外部域的静态资源不会被缓存。 例如: mydomain.com/content/scripts/somescript.js - &gt;被高速缓存 http://widget.uservoice.com/ha3YmZucx5RAYmq2cS9qw.js - &gt;没有被缓存

谷歌仍然建议我“利用浏览器缓存”。

如何启用应用程序以缓存来自外部域的静态资源?

1 个答案:

答案 0 :(得分:3)

您无法缓存来自第三方域的静态资源;这不是事情的运作方式。如果第三方资源未被缓存,则意味着第三方已直接选择不使用缓存(可能需要始终保持最新才能正常运行)或忽略实现缓存。您可以做的唯一事情是向第三方提交一张票并要求他们修理它。