次のように実装するアクション フィルターを定義すると、次の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();
}
これを行うと、Index アクション コードは実行されず、OnResultExecuted メソッドも実行されません。メソッドでResult
プロパティを設定したからでしょうか。OnActionExecuting
通常の流れが中断される原因となるものは他にありますか?