IIS输出缓存设置的坑

灰暗的星星灰暗的星星灰暗的星星灰暗的星星灰暗的星星
 
分类:技术文章

以前没有使用过网站IIS 输出缓存的设置。这次由于某个维护的网站挪服务器了。就想试试效果。于是添加了2条规则。一个是.aspx的,一个是.asp的。设置如下:

感觉这样设置挺好。文件修改才通知,不修改就不通知,挺好。没毛病。

但是现实是残酷的,过了2天,更新网站内容的人却通知我说,后台翻页不能用了,只能翻两页,再往后翻就翻不动了。我刚开始不明白他的意思。这晚上自己查看,才明白他说的意思。这翻到第三页,第四页,页面内容和第二页一直是相同。想了想这段服务器挪过来后设置也就变了一次。就是在IIS 上设置了一个输出缓存,感觉坏了,是不是这里出问题了。把这两条设置的规则删除,再查看,翻页正常了。

分析原因,推测因为asp页面中的代码一直没变,因此服务器一直没通知客户端浏览器。而虽然翻页有页码,但是显然客户端不会因为你url 带参数就认为你页面内容改变,导致的一直输出是原来的内容。看来这输出缓存使用还是有条件的,静态的htm 这类文件以及图片可以用。动态网页是不适用的。