ActionFilter不会使用缓存输出执行

时间:2012-01-02 18:16:54

标签: asp.net asp.net-mvc-3 actionfilterattribute

我正在使用OutputCache属性来缓存我的主页内容

[OutputCache(CacheProfile = "Default")]
public ActionResult Index()
{
     .....
}

我还有一个自定义全局属性设置,用于检查有效浏览器类型的每个请求

GlobalFilters.Filters.Add(new BadBrowserAttribute());

OnActionExecuting在第一次请求期间根据需要触发,但在缓存过期之前不会再触发。

我原以为属性的Order值可能会有所帮助,但似乎没有任何区别。

是否可以每次为缓存内容触发我的自定义属性?

1 个答案:

答案 0 :(得分:0)

你的行动不可能每次都开火。当您使用缓存时(如在您的代码中),在后续请求中将从缓存返回结果,因此不会执行操作。

一个工作量可能是在您的操作过滤器中实现自定义缓存。像this

这样的东西