Я использую MvcDonutCaching в своем проекте и ищут способ отключить кеширование в глобальном масштабе, чтобы помочь во время отладки/тестирования.Mvc Donut Кэширование отключает кэширование программно
Я не могу найти примеров того, как достичь этого в документации, хотя я нашел 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...
}
Есть ли правильный способ сделать это?