我在我的项目中使用MvcDonutCaching并寻找一种方法来全局禁用缓存以在调试/测试期间提供帮助。
我在文档中找不到任何关于如何实现这一点的示例,尽管我确实找到了CacheSettingsManager
which 暴露了一个IsCachingEnabledGlobally
属性,但是 this 是readonly
.
CacheSettingsManager
也没有任何允许我配置此设置的构造函数。有没有办法配置这个设置?
有一个替代解决方案可能有效(丑陋),但它绝对是最后的手段,不应该真的有必要:
public class CustomOutputCache : DonutOutputCacheAttribute
{
public CustomOutputCache()
{
if(ConfigurationManager.AppSettings["UseCache"] == "false")
{
base.NoStore = true;
base.Duration = 0;
}
}
}
然后在我的控制器操作上使用它:
[CustomOutputCache]
public ActionResult Homepage()
{
// etc...
}
有没有正确的方法来做到这一点?