如果我定义一个IActionFilter
像这样实现的动作过滤器:
public class FooAttribute : FilterAttribute, IActionFilter
{
public void OnActionExecuted(ActionExecutedContext filterContext)
{ }
public void OnActionExecuting(ActionExecutingContext filterContext)
{
filterContext.Result = new ContentResult
{
Content = "Test",
ContentEncoding = Encoding.UTF8,
ContentType = "text"
};
}
}
并将其应用于以下操作方法:
[Foo]
public ActionResult Index()
{
return View();
}
当我这样做时,索引操作代码不会运行,OnResultExecuted 方法也不会运行。这是因为我在方法中设置了Result
属性吗?OnActionExecuting
是否还有其他原因会导致正常流程中断?