asp.net - 什么会阻止 ASP.NET 进行输出缓存?

标签 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) 尝试过此操作,但是该页面根本不缓存。

还有其他我没有考虑过的因素可能会影响此功能吗?

谢谢

最佳答案

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

Response.Cache.SetCacheability(HttpCacheability.NoCache);

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

关于asp.net - 什么会阻止 ASP.NET 进行输出缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2370055/

相关文章:

java - 如何输出缓存文件并进行自定义日志记录 - jboss/java 项目

javascript - 如何将 javascript 函数与 Eval 的 OnClientClick 事件绑定(bind)?

asp.net - 先前端还是后端?

c# - 从后面的代码多次将文本添加到文本框?

asp.net - 文本框数据绑定(bind)

c# - 如何让 ActionFilters 和 OutputCaching 一起工作?

html - 没有导航栏的缓存页面。用户登录/注销系统根本不更新(MVC)

javascript - 从 Asp.net 文本框中使用 Eval 函数作为参数调用 javascript 函数

c# - 创建 pdf 错误消息(...文件已损坏且无法修复)

asp.net - MVC3 Partial View 需要一个 Controller ,但我可以将其设为非公开吗?