Asp.net mvc ASP MVC 4-缓存操作筛选器

Asp.net mvc ASP MVC 4-缓存操作筛选器,asp.net-mvc,caching,action-filter,Asp.net Mvc,Caching,Action Filter,我有一个简单的操作过滤器属性,用于检查用户当前是否在线: public class CheckForOnlineAttribute : ActionFilterAttribute { public override void OnActionExecuting(ActionExecutingContext filterContext) { Membership.GetUser(); base.OnActionExecuting(filterCo

我有一个简单的操作过滤器属性,用于检查用户当前是否在线:

public class CheckForOnlineAttribute : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
         Membership.GetUser();
         base.OnActionExecuting(filterContext);
     }
}

现在,我想将此操作缓存12分钟,我尝试在其上放置一个
[OutputCache(Duration=XXX)]
,但这不起作用。如何缓存此操作筛选器?

请注意,持续时间是以秒为单位的,因此在持续时间中不是12而是1200(我看到您现在已将其更改为XXX,但我看到它是12)


您还希望此操作包括用户的参数,并随outputcache的参数而变化。

定义过滤器的“缓存”。是否希望每12分钟仅调用一次筛选器?它有什么不同?我不认为你一直都在考虑这个问题,因为这个结果会被缓存给每个人。我希望它每12分钟为每个用户执行一次-用户登录,操作被调用,12分钟后它会再次执行。是的,我改变了这一点,我希望避免人们告诉我这是以秒为单位的,我的代码中有12秒,并将其粘贴到这里而不进行编辑。:-)无论如何,谢谢你指出一个错误。