Was ist der Unterschied zwischen der Implementierung von FilterAttribute, IActionFilter und dem Erben von ActionFilterAttribute in asp.net mvc 3?
Ich sehe, dass wir in einer Situation außer Kraft setzen könnenOnActionExecuting
oderOnActionExecuted
Methoden, die von erbenActionFilterAttribute
Klasse wie folgt:
public class MyFilterAttribute : ActionFilterAttribute
{
public override void OnActionExecuted(ActionExecutedContext filterContext)
{ // bla bla }
}
Und in anderen Situationen können wir auch umsetzenIActionFilter
undFilterAttribute
so was:
public class MySecondFilterAttribute : FilterAttribute, IActionFilter
{
public void OnActionExecuted(ActionExecutingContext filterContext) {}
}
Gibt es also Unterschiede zwischen diesen beiden Ansätzen, möglicherweise in bestimmten Situationen, in denen es vorzuziehen ist, einen dieser Ansätze übereinander zu verwenden?
Danke im Voraus.