我有一个 ASP.NET 应用程序,并且正在尝试输出缓存某个页面,但是对于每个请求,调试器仍然会调用 OnLoad 方法,并且我会收到 200 响应。
我已将输出缓存指令放置在页面上,如下所示:
<%@ OutputCache Duration="60" VaryByParam="None" %>
并确保我有 OutputCache 模块
<add name="OutputCache" type="System.Web.Caching.OutputCacheModule"/>
并且还绕过了 URL 重写以防万一。我已经使用 Cassini 和 IIS 5.1 (XP) 尝试过此操作,但是该页面根本不缓存。
还有其他我没有考虑过的因素可能会影响此功能吗?
谢谢
最佳答案
我也遇到了同样的问题。我发现在处理我无法缓存的请求时调用了这行代码:
Response.Cache.SetCacheability(HttpCacheability.NoCache);
注释掉这一点使得输出缓存再次开始工作。我猜想上面的行只会影响发送到客户端/浏览器的 header 。确保在页面生命周期的任何时刻都不会执行类似的操作。
关于asp.net - 什么会阻止 ASP.NET 进行输出缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2370055/