我制作了一个实现了 OnActionExecuted 方法的 ActionFilterAttribute。这意味着,它在 Action 方法之后运行。但是,在某些情况下,我希望 OnActionExecuted 不被执行。
我如何从 Action 方法中阻止 ActionFilter 被执行?
现在,我做了这个:
关于 Action 方法:
RouteData.Values.Add("CancelActionFilter", true);
在 ActionFilter.OnActionExecuted() 上:
if (filterContext.RouteData.Values["CancelActionFilter"] != null)
{
return;
}
但我认为这可能存在一种更优雅的方法。