• 概念帖——asp.net mvc过滤器


    介绍

    当任何请求到mvc时,它都会将请求分配到对应控制器内对应的方法去处理,如果需要在处理前后加入一些额外的逻辑处理的话,就需要用到过滤器了,具体应用方式就是给类添加特性(以前用的不少,但我只是习惯叫它特性,面试被问到尴尬)。

    类型

    asp mvc支持的一共有4种过滤器,如下:

    ActionFilter(方法过滤器):执行控制器方法和结果前、后调用(5.2.3版本新增了原本属于结果过滤器的两个方法)

    ResultFilter(结果过滤器):执行控制器方法结果前、后调用

    AuthorizationFilter(授权过滤器):最先调用

    ExceptionFilter(异常过滤器):控制器方法抛出异常时调用

    调用顺序

    过滤器内实现的方法有不同的调用顺序,下面整理出来:

    (方法)IActionFilter→OnActionExecuted——执行操作方法后调用

                                     →OnActionExecuting——执行操作方法前调用

                                     →OnResultExecuted——执行操作结果后调用

                                     →OnResultExecuting——执行操作结果前调用

    (结果)IResultFilter→OnResultExecuted——执行操作结果后调用

                                     →OnResultExecutint——执行操作结果前调用

    (授权)IAuthorizationFilter→OnAuthorization——最先调用

    (异常)IExceptionFilter→OnException——控制器方法抛出异常时调用

    自定义过滤器

    我们当然可以自定义过滤器,只需要新建一个继承过滤器基类的类,然后实现对应过滤器的接口即可,下图是自定义异常过滤器的简单示例:

    调用和普通过滤器一样:

    牢记过滤器类型和各自的作用,大有脾益。

  • 相关阅读:
    多线程编程:阻塞、并发队列的使用总结
    为什么阿里的程序员那么帅?---原来他们都有"编码规约扫描"神器在手
    多线程编程:多线程并发制单的开发记录【一】
    如何使用线程锁来提高多线程并发效率
    如何在分布式环境中同步solr索引库和缓存信息
    前端性能优化指南
    DOM操作方法、属性
    CSS样式手册
    XSS跨站脚本攻击
    数组和对象的使用方法
  • 原文地址:https://www.cnblogs.com/muchengqingxin/p/13190354.html
Copyright © 2020-2023  润新知