Qual é a diferença entre implementar FilterAttribute, IActionFilter e herdando de ActionFilterAttribute em asp.net mvc 3?
Eu vejo que em uma situação podemos ignorarOnActionExecuting
ouOnActionExecuted
métodos herdados deActionFilterAttribute
classe assim:
public class MyFilterAttribute : ActionFilterAttribute
{
public override void OnActionExecuted(ActionExecutedContext filterContext)
{ // bla bla }
}
E em outra situação também podemos implementarIActionFilter
eFilterAttribute
como isso:
public class MySecondFilterAttribute : FilterAttribute, IActionFilter
{
public void OnActionExecuted(ActionExecutingContext filterContext) {}
}
Então, há alguma diferença entre essas duas abordagens, talvez qualquer situação em particular, onde seria preferível usar uma delas sobre a outra?
Desde já, obrigado.