I would inherit from the OutputCache
attribute and set Duration
there:
public static class CacheConfig { public static int Duration = 36600; } public class MyOutputCacheAttribute : OutputCacheAttribute { public MyOutputCacheAttribute() { this.Duration = CacheConfig.Duration; } } [MyOutputCache(VaryByParam = "none")] public ActionResult Index() { return View(); }
Then you can change the Duration
dynamically and globally through CacheConfig.Duration
And you can still override the global setting for each action if you want:
[MyOutputCache(Duration = 100, VaryByParam = "none")] public ActionResult OtherAction() { return View(); }
source share