【问题标题】:Can we cache images, css and java script in MVC3 through Output Cache?我们可以通过Output Cache在MVC3中缓存图片、css和javascript吗?
【发布时间】:2013-08-13 10:55:19
【问题描述】:

我们能否通过 OutputCache 属性在 MVC3 中缓存任何特定视图(不是部分视图)的图像、css 和 javascript。就像我想缓存我的 Home Controller 视图一样。我试过了,但只缓存了内容而不是图像和 css。

【问题讨论】:

  • 通常这些文件是静态文件。由网络服务器直接提供。您是否通过控制器操作动态创建这些文件?如果是的话,你应该可以只添加属性。
  • 嗨 Andreas,是的,所有这些文件都是静态的。我想做的是当没有网络时,我想在主页上显示“系统不在网络”消息。

标签: asp.net-mvc-3 outputcache


【解决方案1】:

您可以使用以下方法来缓存静态资源,而不是输出缓存属性:

1.使用最大年龄。在<configuration> -> <system.webServer> 部分的web.config 中放置以下部分

<staticContent>
    <!-- Tell client to cache static files for a year -->
    <clientCache cacheControlMode="UseMaxAge"
                 cacheControlMaxAge="365.00:00:00" />
</staticContent>

2.使用 URL 版本控制。可以通过捆绑来实现。如果您使用的是 MVC3,您可以查看 combres on nuget。在 MVC4 或更高版本中它是内置选项:Bundling and Minification

【讨论】:

  • 嗨 Garath,我尝试使用 staticContent 添加我的 web.config 文件,但还是没有运气。
  • 你到底想做什么。此 web.config 语句将在客户端启用缓存。
  • 嗨@Garath:添加combres Nuget后,它会开始自动缓存图像/css/js吗?
  • 没有。您将必须定义捆绑包
  • 嗨@Garath:我想缓存我的主页,当没有网络连接时,我仍然想显示我的主页并显示“系统不在网络”消息。
猜你喜欢
  • 2019-10-28
  • 2012-08-24
  • 1970-01-01
  • 1970-01-01
  • 2022-01-24
  • 2015-11-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多