ASP.Net无效页面缓存

时间:2010-12-06 03:39:24

标签: asp.net iis outputcache

由于我网站主页的数据库驱动内容不经常更改,我使用ASP.Net输出缓存来保持内容1小时:

<%@ OutputCache Duration="3600" VaryByParam="none" %>

我在.ASCX控件的开头和结尾有一个简单的HTML注释,我可以用来验证输出是否正确缓存(通过在浏览器中使用'view source'):

<!--  Cached Area (Created at: 10:08:08 PM)  Begin Cache -->

...

<!--  End Cached Area  -->

缓存本身效果很好。

但是,大约每天一次,ASP.NET会捕获一个EMPTY缓存区域。据我所知,这是因为当前一个缓存失效时,机器人(或其他自动进程)是第一个被站点停止的东西,并且由于来自'bot的奇怪请求,该站点创建一个空输出......然后缓存它。

当然,这个网站的“空白”部分也会被人类在下一个小时看到。

有没有办法“查询”输出缓存以查看其中的内容?或者(甚至更好),检查“建议”缓存并确定它是否值得海绵......错误,我的意思是缓存值得吗?

如果输出不包含货物,我想立即转储(或永不缓存)。

注意:检查传入的有效请求不是一个好的解决方案,因为在输出缓存发生之前可能存在一系列复杂的交互。我需要能够查询缓存本身。

0 个答案:

没有答案