我对asp.net mvc seletor&过滤
众所周知,有5种类型的过滤器:身份验证,授权,操作,结果,异常。
但是,还有另一个'过滤器':动作选择器。
基类也不同:ActionMethodSelectorAttribute和FilterAttribute
谁能告诉我选择器和放大器之间有什么区别?常见的过滤器?
感谢。
答案 0 :(得分:1)
动作选择器只是确定要运行的动作(例如,通过用于请求的HTTP动词)。
过滤一些不同的目标 - 操作过滤器在操作之前或之后运行代码,异常过滤器在异常上运行代码,身份验证过滤器用于实现身份验证的代码等。
答案 1 :(得分:0)
今天我只是用红色材料来说明这个相关的问题。
在mvc框架内部,它是这样的:
----的ControllerFactory
----控制器选择和实例化(借助Dependency Resolver)
----调用controller.Execute(RequestContext)
-------- ActionInvoker(默认值:ControllerActionInvoker)
-------- this.ActionInvoker.InvokeAction(ControllerContext,actionName)
------------选择动作方法(涉及动作选择器)
------------认证&授权过滤器
------------模特装订
------------使用动作过滤器调用动作
------------认证质询(IAuthenticationFilter)
------------使用结果过滤器执行结果
----控制器配置
请参阅,选择器和过滤器完全在不同的范围内,即使它们都在actionInvoker中使用。