【发布时间】:2011-03-11 23:10:24
【问题描述】:
有没有办法在所选页面上禁用 asp.net 缓存。如果可以从 web.config 中完成,那就太好了。
【问题讨论】:
有没有办法在所选页面上禁用 asp.net 缓存。如果可以从 web.config 中完成,那就太好了。
【问题讨论】:
Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1));
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();
【讨论】:
可以,如果您愿意创建自己的配置部分:http://msdn.microsoft.com/en-us/library/2tw134k3.aspx
在你的配置部分放一些类似的东西,
<cachingConfig>
<path>/Navigation/Menu.aspx</path>
<path>/Target/Console.aspx</path>
<path>/Target/Charting/Chart.aspx</path>
</cachingConfig>
您可以根据需要添加更多属性,例如持续时间。
然后,在页面的 page_Init 方法中,检查此配置部分并在适当的地方调用以下内容:
Response.Cache.SetCacheability(HttpCacheability.NoCache)
编辑:提示:将初始化代码放在您的页面继承的基类中,这样它就只有一个地方。
【讨论】:
<!-- In the page itself -->
<%@ OutputCache Location="None" %>
或者
// In the code-behind
Response.Cache.SetCacheability(HttpCacheability.NoCache)
不幸的是,它必须在页面内完成。从 web.config 中没有简单的方法可以做到这一点。欲了解更多信息,请查看:
【讨论】: