我知道如何在MVC中使用Actionfiltes,但我不明白为什么我们使用它,因为我们可以在执行之前和之后为这两者写入逻辑操作,然后它的目的是什么? 如果有人给我正确的例子和解释,那么这对我有帮助。
此致 Vinit Patel
答案 0 :(得分:0)
动作过滤器为您提供了一种集中的方式来定义在执行动作之前或之后执行的逻辑。一些例子可能是
您可以单独为每个操作添加操作过滤器,也可以使用全局过滤器将其全局添加到所有操作。
一般情况下,过滤器表示一个单元,您可以链接到某种过程来拦截并有时修改流程。就例如音频技术而言,滤波器可以是效果(均衡器,压缩器等)。就MVC而言,它可以是您想要插入MVC处理流程的单元。
答案 1 :(得分:0)
动作过滤器是惊人的,因为它使您能够捕获动作请求,请求以及结果的执行和执行技术,以进行应用程序所需的一些自定义准备。如果您不希望不为每个活动或控制器修改一些代码,并且这是运行您自己的动作过滤器的一种不错的方法,那么这可能会特别有用。
MVC中可用的操作过滤器的类型:
授权: AuthorizeAttribute类用于指定对控制器或操作方法的访问,该访问权限仅限于满足批准需要的用户。
HandleError: HandleErrorAttribute类用于处理由操作方法引发的异常。
ValidateAntiForgeryToken::ValidateAntiForgeryTokenAttribute类用于防止跨站点请求伪造。
ValidateInput: ValidateInputAttribute类用于标记必须验证其输入的操作方法。
OutputCache::OutputCache属性类用于标记要缓存其输出的操作方法或控制器。