我想把 项目里的静态文件 在浏览器进行缓存 思路是:
1、配置文件 配置哪些类型文件需要缓存
2、写个过滤器 过滤所有的get请求 匹配 哪些请求需要做缓存
但是问题来了:
当服务器端的文件改动时 客户端缓存不及时更新
查了资料说是用文件版本号来解决但是怎么解决呢?
例如用:index.js?v=1
这个怎么动态 控制呢 ?不可能手动改的吧!
在web.config配置一个版本号比如,<add key="v" value="0.1">
比如你原来请求地址是index.js?v=从config读取V值
你服务器文件改动后,你把config的值变动一下就行了
但是 我有好多文件需要版本号,这样的话config变一次所有的都变了
@不会飞的菜鸟:
定义多个变量,如果觉得多个变量又很麻烦,那就让他变也没关系,因为你服务器文件不会经常改啊
缓存依赖,可以依赖文件? 可以查查
如果你的文件是有版本控制的(比如SVN),那最好自己写方法或者工具来取svn的版本号替换引用的静态文件版本...
这里有点思路可以试试看:
http://www.cnblogs.com/aNd1coder/archive/2011/08/27/2155343.html
你只需要启用Html5的Offline功能就可以实现了,在页面加上
<html manifest="/cache.manifest"> ...
然后将需要缓存的文件定义放在cache.manifest内
CACHE MANIFEST
/index.js?v=