zoukankan      html  css  js  c++  java
  • netcore---Program.cs配置相关信息,及读取配置信息

     代码:

     1 using Autofac;
     2 using Autofac.Extensions.DependencyInjection;
     3 using Microsoft.EntityFrameworkCore;
     4 using Microsoft.Extensions.Configuration;
     5 using Microsoft.Extensions.DependencyInjection;
     6 using Microsoft.Extensions.Hosting;
     7 using Serilog;
     8 using System.Reflection;
     9 using Yanwen.PLM.Entity;
    10 
    11 namespace Yanwen.PLM.Worker
    12 {
    13     public class Program
    14     {
    15         private static IConfiguration Configuration { get; set; }
    16 
    17         public static void Main(string[] args)
    18         {
    19             CreateHostBuilder(args).Build().Run();
    20         }
    21 
    22         public static IHostBuilder CreateHostBuilder(string[] args)
    23           => Host.CreateDefaultBuilder(args)
    24             .UseServiceProviderFactory(new AutofacServiceProviderFactory())
    25             .ConfigureAppConfiguration((hostingContext, config) => {
    26                 //var env = hostingContext.HostingEnvironment;
    27                 //config.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
    28                 //      .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true, reloadOnChange: true);
    29                 Configuration = config.Build();
    30             })
    31             .ConfigureServices(ConfigureServices)
    32             .ConfigureContainer<ContainerBuilder>(ConfigureContainer)
    33             .UseSerilog((ctx, config) => config.ReadFrom.Configuration(ctx.Configuration));
    34 
    35         private static void ConfigureServices(IServiceCollection services)
    36         {
    37             services.AddHostedService<Worker>();            
    38             services.AddScoped<DbContext, MySqlDbContext>();
    39             services.AddDbContext<MySqlDbContext>(options =>
    40             options.UseMySql(Configuration.GetConnectionString("Default")));
    41 
    42             var section = Configuration.GetSection("Redis:Default");
    43             string instanceName = section.GetSection("InstanceName").Value;
    44             string connectionString = section.GetSection("Connection").Value;
    45             int defaultDB = int.Parse(section.GetSection("DefaultDB").Value ?? "0");
    46             services.AddSingleton(new MyRedis(connectionString, instanceName, defaultDB));
    47         }
    48 
    49         private static void ConfigureContainer(ContainerBuilder containerBuilder)
    50         {
    51             // containerBuilder.RegisterType<EstimaterateService>().As<IEstimaterateService>();
    52             var dataAccess = Assembly.GetExecutingAssembly();
    53             containerBuilder.RegisterAssemblyTypes(dataAccess).Where(t => t.Name.EndsWith("Service")).AsImplementedInterfaces();
    54         }
    55     }
    56 }
    View Code
  • 相关阅读:
    《构建之法》第1.2.3章读后感以及《硅谷传奇》观后感
    算复利条件下等额还款金额
    统计实验数据
    单利计算与复利计算程序
    了解和熟悉操作系统
    0302思考并回答一些问题
    sae storage 使用uploadify插件进行文件批量上传
    PHP页面之间跳转方法总结
    js获取每个按键的ASCII值
    C#文件的拆分与合并操作示例
  • 原文地址:https://www.cnblogs.com/lishidefengchen/p/13410554.html
Copyright © 2011-2022 走看看