什么会阻止ASP.NET输出缓存?

时间:2010-03-03 09:38:03

标签: asp.net webforms outputcache

我有一个ASP.NET应用程序,我正在尝试输出某个页面的缓存,但是在每个请求中,调试器仍然按下OnLoad方法,我得到200响应。

我已将输出缓存指令放在如下的页面上:

<%@ OutputCache Duration="60" VaryByParam="None" %>

确保我有OutputCache模块

<add name="OutputCache" type="System.Web.Caching.OutputCacheModule"/>

并且还绕过了URL重写以防万一。我已经尝试使用Cassini和IIS 5.1(XP),但页面根本没有缓存。

还有其他因素我没看过会影响这个功能吗?

由于

1 个答案:

答案 0 :(得分:4)

我遇到了同样的问题。我发现在处理无法缓存的请求时调用了这行代码:

Response.Cache.SetCacheability(HttpCacheability.NoCache);

评论这一点使得输出缓存再次开始工作。我猜想上面的行只会影响发送到客户端/浏览器的标题。确保在页面生命周期的任何时候都不执行此类操作。