首先说一下.Net Core 自带的注入。
新建一个NetCore 控制台程序,我这里用的是.NetCore3.1 ,创建好项目之后,添加Nugget引用如下:
0
然后修改Program.cs文件
private static IConfiguration Configuration { get; set; }
        static void Main(string[] args)
        {
            CreateHostBuilder(args).Build().Run();
        }
        public static IHostBuilder CreateHostBuilder(string[] args)
      => Host.CreateDefaultBuilder(args)
          .ConfigureAppConfiguration((_, config) => Configuration = config.Build())
          .ConfigureServices(ConfigureServices);
        private static void ConfigureServices(IServiceCollection services)
        {
            // 注入mysql上下文
            services.AddScoped<DbContext, MySqlDbContext>();
            services.AddDbContext<MySqlDbContext>(options =>
                    options.UseMySql(Configuration.GetConnectionString("Default"),
                    options => options.CommandTimeout(300)
                    ));
            // 注入相关的Service
            services.AddTransient<IFirstService,FirstServiceImpl>();
            services.AddTransient<ISecondService, SecondServiceImpl>();

            //注册后台服务
            services.AddHostedService<Worker>();
        }

 

posted on 2022-08-10 10:01  CRUDEngineer  阅读(135)  评论(0编辑  收藏  举报