• net 6 AOPFilter 生命周期


    net 6  AOP--Filter

    1. AuthorizeAttribute
    2 IResourceFilter
    3 IActionFilter
    4 IResultFilter
    5 IAlwaysRun
    6 IExceptionFilter

    IAsycExceptinFilter

    AllowAnonymousAttribute 部分可以使用 


    NET .Filter生命周期
    1 现在ASP.NET Core中的几个Filter来支持的AOP已经讲解完成
    2 那么这个几个Filter的生命周期是怎样的呢?
    3 分别把6个Filter全部注册到某一个方法,来看看执行顺序

    a.验证权限,进入到Authorization
    b.ResourceFilter 中的--OnResourceExecuting
    c.开始创建控制器实例
    d.ActionFilter 中的-- OnActionExecuting
    e.执行Action方法
    f.ActionFilter 中的-- OnActionExecuted
    g.ResultFilter 中的-- OnResultExecuting
    h.AlwaysRunResultFilter 中的 -- OnResultExecuting
    i.渲染视图
    j.AlwaysRunResultFilter 中的 -- OnResultExecuted
    k.ResultFilter 中的-- OnResultExecuted
    l.ResourceFilter中的--OnResourceExecuted

    AOP:在不修改之前的代码为基础上,动态增加功能,但是我们现在做的无论是
    ResourceFilter还是ActionFilter都是直接标记在方法上的,那么如果要对某一些
    Action、或者对于某个项目整体生效呢?
    image-20211130165928663
    1 方法注册:仅对当前方法生效
    2 控制器(类)注册:对当前控制器下的所有Action都生效
    3 全局注册:对于项目中的所有方法都生效

    1.AuthorizeAttribute权限验证
    IResourceFilter资源缓存-方法调用前后可以添加功能
    IActionFilter方法前后扩展 IActionffilter: 执行顺序:控制器构造函数--》actionffilter  onactionExecuting--->控制器的action-->actionffilter  onactionExecuting  适合做日志,记录方法执行的整个时间

    IAsyncActionFilter


    2.IResultFilter结果生成前后扩展IResultFilter :在调用方法action后,视图渲染前 调用onResultExecuting,视图渲染后调用 onResultExected

    IASyncResultFilter

    应用场景:对返回结果如返回json 统一在onResultExecuting处理
    3.IAlawaysRunResult 响应结果的补充:对 方法调用后视图调用做数据补充
    4.IExceptionFilter 异常处理

  • 相关阅读:
    Mysql 命令行连接
    linux下安装MongoDB数据库
    SVN 提交常见报错及解决方案
    解决 SVN Skipped 'xxx' -- Node remains in conflict
    linux svn 切换用户
    SQL基础语法
    yml
    搭建笔记(1)
    文件上传MultipartFile
    18.线程池
  • 原文地址:https://www.cnblogs.com/csj007523/p/16154714.html
Copyright © 2020-2023  润新知