如何缓存css,图像和js?

cho*_*obo 26 .net asp.net-mvc caching asp.net-caching

我想在加载网页时在浏览器上将图像,css和javascript缓存在客户端.有很多不同类型的缓存我很困惑,哪些与asp.net mvc一起使用.

是否也可以让他们的浏览器检查这些文件的新版本或修改版本?

谢谢!

Nic*_*ver 45

您需要在服务器上设置缓存控制标头.您可以通过将其粘贴在web.config中来完成此操作:

<system.webServer>
  <staticContent>
     <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="30.00:00:00" />
  </staticContent>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)

这将告诉浏览器现在甚至检查任何静态的新内容30天.

对于第二个问题,请提供一些向内容添加查询字符串的机制.在我目前的项目中,我们压缩和组合javascript和css作为构建的一部分.在页面中放置链接时看起来像:

<script src="/Resources/Javascript/Combined.js?v=2.2.0.1901" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

查询字符串是Major.Minor.0.Changeset数字,并且在我们推送构建时随时更改,导致客户端重新获取它.在<link>元素中的样式表中也会发生同样的事情.


JAL*_*JAL 6

实际上,浏览器会自动为您处理此问题.你必须尽力让他们不要缓存css,js,html和图像.

我对ASP MVC并不熟悉,但我认为你所考虑的缓存类型是你创建的动态输出服务器端的操作码缓存?