【发布时间】:2015-08-10 15:40:27
【问题描述】:
我在我的项目中使用MvcDonutCaching 并寻找一种方法来全局禁用缓存以在调试/测试期间提供帮助。
尽管我确实找到了CacheSettingsManager,它公开了IsCachingEnabledGlobally 属性,但我在文档中找不到任何关于如何实现此目的的示例,但这是readonly。
CacheSettingsManager 也没有任何允许我配置此设置的构造函数。有没有办法配置这个设置?
有一个替代解决方案可能有效(丑陋),但它绝对是最后的手段,不应该真的有必要:
public class CustomOutputCache : DonutOutputCacheAttribute
{
public CustomOutputCache()
{
if(ConfigurationManager.AppSettings["UseCache"] == "false")
{
base.NoStore = true;
base.Duration = 0;
}
}
}
然后在我的控制器操作上使用它:
[CustomOutputCache]
public ActionResult Homepage()
{
// etc...
}
有正确的方法吗?
【问题讨论】:
标签: c# asp.net-mvc caching donut-caching