MVC过滤器提供了一种为操作和控制器注入预处理和后处理逻辑的方法。我们还可以编写自定义过滤器并使用该属性修饰我们的动作和控制器。通过在执行操作之前和之后编写方法可以实现相同的目的。那我们为什么要使用过滤器呢?编写自定义方法和自定义过滤器有什么区别?
答案 0 :(得分:0)
据我所知,自定义方法意味着覆盖控制器管道方法,例如OnActionExecuted
OnResultExecuted
等。如果您在那里实现逻辑,那么您在那里编写的代码将会在所有控制器方法上进行选择。此外,如果你想在应用程序的其他控制器中使用这个逻辑,你必须创建你的CoreContoller类,你可以覆盖方法并由其他控制器继承它。
另一方面,如果您实现ActionFilter
并在MVC应用程序中注册它,您可以通过在控制器方法之上添加属性,在不同的控制器方法上使用此逻辑。如果你不需要所有方法的逻辑,它会更灵活。