有没有办法在所选页面上禁用asp.net缓存。如果可以从web.config中完成,那就太好了。
答案 0 :(得分:11)
<!-- In the page itself -->
<%@ OutputCache Location="None" %>
或者
// In the code-behind
Response.Cache.SetCacheability(HttpCacheability.NoCache)
不幸的是,它必须在页面内完成。从web.config做起来没有简单的方法。有关更多信息,请查看:
答案 1 :(得分:9)
是的,如果您愿意创建自己的配置部分,可以使用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)
编辑:提示:将init代码放在页面继承的基类中,这样它就只有一个位置。
答案 2 :(得分:7)
Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1));
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();