Tôi thấy rằng trong một tình huống chúng ta có thể ghi đè lên OnActionExecuting
hoặc OnActionExecuted
phương pháp kế thừa từ ActionFilterAttribute
lớp như thế này:Sự khác biệt giữa việc triển khai FilterAttribute, IActionFilter và kế thừa từ ActionFilterAttribute trong asp.net mvc 3 là gì?
public class MyFilterAttribute : ActionFilterAttribute
{
public override void OnActionExecuted(ActionExecutedContext filterContext)
{ // bla bla }
}
Và trong tình huống khác mà chúng tôi cũng có thể thực hiện IActionFilter
và FilterAttribute
như thế này:
public class MySecondFilterAttribute : FilterAttribute, IActionFilter
{
public void OnActionExecuted(ActionExecutingContext filterContext) {}
}
Vì vậy, có bất kỳ sự khác biệt nào giữa hai cách tiếp cận này, có lẽ là bất kỳ tình huống cụ thể nào mà nó sẽ thích hợp hơn khi sử dụng một trong số chúng?
Xin cảm ơn trước.