美文网首页
AOP in .Net5 -- ResourceFilter

AOP in .Net5 -- ResourceFilter

作者: 王清水 | 来源:发表于2021-02-21 22:02 被阅读0次

    AOP切面编程,ResourceFilter顾名思义就是对于资源的控制,在逻辑编写中,结合AOP理念,会很容易想到数据资源-逻辑分离,其中数据资源来源是不确定的,逻辑是一定的;这里我们将数据资源的不确定处理可以使用ResourceFilter实现;
    原因在于,.Net 程序在Filter运行顺序上,这里我们做一个简单的排序:
    1,Middleware
    2,Authorization Filter
    3,Resource Filter
    4,Exception Filter
    5,Model Binding
    6,Action Filter(executing、action、executed)
    7,Result Filter
    8,Result execution
    我们可以在ActionFilter上实现,但是每一次请求都会多出其中binding和Action部分,所以,我们更好的选择是在Resource Filter中进行实现,比如,我们实现缓存业务逻辑,一次请求,如果缓存中存在,直接返回结果,如果没有,则请求Action处理,从其他资源途径获取,获取后缓存到缓存中;

    以上的做法,减少了每次Controller的实例化,符合AOP某些场景的的功能,比如,程序编写早期没有使用缓存,后面又添加了缓存机制,但是又不想修改之前的逻辑代码;

具体实现IResourceFilter接口

当然,如果请求的数据都是接口实现,Controller中都是进行接口方法组装而成的话,其实,也是可以通过修改接口具体实现进行资源来源不确定的需求;

相关文章

网友评论

      本文标题:AOP in .Net5 -- ResourceFilter

      本文链接:https://www.haomeiwen.com/subject/zdxcfltx.html