1.测试,可以缓存整个Share工程(经测试IIS中的缓存测试对ASPX页面不起作用,估计与页面压缩的设置原理一样);
2.需要设置缓存的工程: Share,Portal(根据IIS日志分析报告中的“Most Requested Directories”得出);
3.设置的方法:
第一步:
打开 IIS 配置管理工具(Internet 信息服务(IIS)管理器)。
选中一个目录(或者网站,如果您想为所有站点配置,请选择点中“网站”那个图标),点“属性”按钮,会弹出一个配置窗口
第二步:
选择“HTTP 头” TAB 标签,然后您会看到:“自定义 HTTP 头”一栏。
第三步:
点旁边的“添加(D)...”按钮,来添加上那条命令。
在弹出的窗口中:“自定义 HTTP 头名(C)”中输入:“Cache-Control”,在“自定义 HTTP 头值(U)”中输入:“Must-revalidate”。
Cache-Control头的参数设置:
Public 响应会被缓存,并且在多用户间共享。
Private 响应只能够作为私有的缓存,不能再用户间共享。
No-cache 响应不会被缓存
No-store 响应不会被缓存,并且不会被写入到客户端的磁盘里,这也是基于安全考虑的某些敏感的响应才会使用这个。
Max-age=#seconds 响应将会某个指定的秒数内缓存,一旦时间过了,就不会被缓存。
Must-revalidate 响应会被重用来满足接下来的请求,但是它必须到服务器端去验证它是不是仍然是最新的。
注意:
如果你要想在iis中配置缓存,请参阅微软的知识技术文章:
· How to Modify the Cache-Control HTTP Header When You Use IIS.
你可以学习更多关于在asp.net中使用缓存的知识文章:
· How To Cache in ASP.NET by Using Visual C# .NET.
如果你发现你经常在你的网站上更新文件,但是并没有更改文件名字,那你就必须要非常小心地设置你的缓存生存时间。例如:如果你要一个thisyear.gif图片文件显示当前的年份在网站上,你需要保证这个缓存过期时间不能超过一天,否则一个用户在12月31号访问你的网站的时候,在1月1号就不能显示正确的日期。
由于某些原因,服务器可能会设置:Progma:no-cache 头,Cache-control:no-cache
Header中的参数:Vary 是一个缓存信号,Vary:User-Agent表示缓存当前的响应,但是仅限于当发送同样的User-Agent 头的时候。指令 Vary:* 就相当于Cache-Control:no-Cache。
Vary就相当于asp.net中的缓存的参数一样,意思是根据什么来缓存,如果要是知道asp.net的缓存的使用方法,就很容易明白这个参数的意思。
出处:http://blog.csdn.net/brothercat/archive/2009/04/14/4074210.aspx