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.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage