В чем разница между реализацией FilterAttribute, IActionFilter и наследованием от ActionFilterAttribute в asp.net mvc 3?

Я вижу, что в одной ситуации мы можем переопределитьOnActionExecuting или жеOnActionExecuted методы наследования отActionFilterAttribute класс как это:

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

И в другой ситуации мы также можем реализоватьIActionFilter а такжеFilterAttribute нравится:

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

Итак, есть ли различия между этими двумя подходами, возможно, какие-то конкретные ситуации, когда было бы предпочтительнее использовать один из них над другим?

Заранее спасибо.

Ответы на вопрос(1)

Ваш ответ на вопрос