首页 > Web开发 > 详细

.Net Core 3.0下AOP试水~~

时间:2019-09-25 20:40:35      阅读:91      评论:0      收藏:0      [点我收藏+]

昨天躺了一下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

 

.Net Core 3.0下AOP试水~~

原文:https://www.cnblogs.com/NCoreCoder/p/11586797.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!