我有这个自定义操作过滤器:
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。
发布于 2012-11-20 20:28:00
您的OnActionExecuting的签名不正确,它应该包含ActionExecutingContext
提供ActionFilterAttribute类的ActionExecuting方法的上下文。
public override void OnActionExecuting(ActionExecutingContext filterContext){
base.OnActionExecuting(filterContext);
}https://stackoverflow.com/questions/13472822
复制相似问题