.Net Core 3.0下AOP试水~~

昨天躺了一下3.0的依赖注入的雷

今天顺势把AOP做了一下调整,比如自动化的AOP注入

 

默认的Program里面的CreateHostBuilder方法增加一行

        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .UseServiceProviderFactory(new JitServiceProviderFactory()) //新增
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                });

在Startup里面增加方法

        public void ConfigureContainer(JitAopBuilder builder)
        {
            builder.Add<IMyClass, MyClass>(ServiceLifetime.Singleton);
        }

或者

正常的依赖注入

        public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllers();
            //...略略略
            services.AddSingleton<IMyClass, MyClass>();
        }

默认MyClass上修改一下

    [JitInject]
    public class MyClass: IMyClass
    {
        [JitAop]
        public void Hello()
        {
            Console.WriteLine("Hello");
        }
    }

JitInject特性代表这个类需要AOP注入 JitAop方法则代表这个方法的具体AOP拦截流程,要自定义的话,只需要继承JitAopAttribute类即可

 

支持同步/异步AOP拦截,彼此的流程独立


项目链接

https://github.com/htrlq/NCoreCoder.Framework

 

转载于:https://www.cnblogs.com/NCoreCoder/p/11586797.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值