Was ist der Unterschied zwischen der Implementierung FilterAttribute, IActionFilter und Erben von ActionFilterAttribute in asp.net mvc-3?

Sehe ich, dass in einer situation, die wir überschreiben können OnActionExecuting oder OnActionExecuted Methoden Erben von ActionFilterAttribute Klasse wie folgt aus:

public class MyFilterAttribute : ActionFilterAttribute
{
    public override void OnActionExecuted(ActionExecutedContext filterContext)
    { //bla bla }
}

Und in anderen situation, die wir auch umsetzen können IActionFilter und FilterAttribute wie diese:

public class MySecondFilterAttribute : FilterAttribute, IActionFilter 
{ 
    public void OnActionExecuted(ActionExecutingContext filterContext) {}
}

So, gibt es irgendwelche Unterschiede zwischen diesen beiden Ansätzen, vielleicht irgendeine bestimmte Situationen, in denen wäre es besser, verwenden Sie einen über den anderen??

Vielen Dank im Voraus.

Schreibe einen Kommentar