Asp.net mvc 未调用ActionFilterAttribute

Asp.net mvc 未调用ActionFilterAttribute,asp.net-mvc,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 4,我有一个自定义操作筛选器: public class PermissionChecker: ActionFilterAttribute { private int _permissionId { get; set; } private IUserSelectorService _userService { get; set; } public PermissionChecker(int permissionId) { _permissionId

我有一个自定义操作筛选器:

public class PermissionChecker: ActionFilterAttribute
{
    private int _permissionId { get; set; }
    private IUserSelectorService _userService { get; set; }

    public PermissionChecker(int permissionId)
    {
        _permissionId = permissionId;
        _userService = new UserSelectorService();
    }

    public PermissionChecker(int permissionId, IUserSelectorService userService)
    {
        _permissionId = permissionId;
        _userService = userService;
    }

    public override void OnActionExecuting(HttpActionContext actionContext)
    {
        base.OnActionExecuting(actionContext);
    }
}
我把它放在我的行动中:

public class HomeController : Controller
{
    [PermissionChecker(1)]
    public ActionResult Index()
    {
        return View();
    }
}

但它不起作用!即使在PermissionChecker的构造函数中,代码也不会传入onActionExecuting。

onActionExecuting的签名不正确,它应该具有:

提供ActionFilterAttribute类的ActionExecuting方法的上下文


这不是mvc3特有的,它适用于mvc4,还添加了指向msdn引用的链接。是的,我使用的是System.Web.Http.Filters的ActionFilterAttribute,而不是System.Web.Mvc。感谢
public override void OnActionExecuting(ActionExecutingContext filterContext){
    base.OnActionExecuting(filterContext);
}