我正在装饰我的控制器:
[OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")]
public class ComponentController : Controller
这非常适合禁用控制器公开的所有方法的所有缓存。
我想在应用程序级别应用相同的逻辑,而不是基于每个控制器。这可能吗?
答案 0 :(得分:3)
将其添加为global.asax文件中的全局过滤器。
protected void Application_Start()
{
GlobalFilters.Filters.Add(new OutputCacheAttribute { NoStore = true, Duration = 0, VaryByParam = "*" });
}
答案 1 :(得分:1)
您可以将其添加为全局过滤器。
在App_Start文件夹中,通常有一个带有RegisterGlobalFilters方法的FilterConfig.cs类:
public class FilterConfig
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
// add your filters here
}
}
这通常作为Global.asax中的Application_Start的一部分调用:
protected void Application_Start()
{
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
}