Jaka jest różnica między implementacją FilterAttribute, IActionFilter i dziedziczeniem z ActionFilterAttribute w asp.net mvc 3?
Widzę, że w jednej sytuacji możemy nadpisaćOnActionExecuting
lubOnActionExecuted
metody dziedziczenia zActionFilterAttribute
klasa jak ta:
public class MyFilterAttribute : ActionFilterAttribute
{
public override void OnActionExecuted(ActionExecutedContext filterContext)
{ // bla bla }
}
W innej sytuacji możemy również wdrożyćIActionFilter
iFilterAttribute
lubię to:
public class MySecondFilterAttribute : FilterAttribute, IActionFilter
{
public void OnActionExecuted(ActionExecutingContext filterContext) {}
}
Czy są więc jakieś różnice między tymi dwoma podejściami, może jakieś szczególne sytuacje, w których lepiej byłoby użyć jednego z nich w drugim?
Z góry dziękuję.