zoukankan      html  css  js  c++  java
  • asp.net core 2.1 配置管理

    1. 直接读取配置

    StartUp类中使用 Configuration["ConnectionString"], Configuration["AliyunAkSk:Ak"]

    如果在Service中想读取配置, 就先注入IConfiguration configuration

    2. 配置强类型化读取

    现有配置节点如下

    "OssSettings": {
         "ConfigItems": [
           {
             "Name": "ali_",
             "Domain": "img.",
             "OfficalDomain": "img.",
             "AccessId": "",
             "AccessKey": "",
             "EndPoint": "
    http://",
             "BucketName": "",
             "Platform": "ali"
           }
         ],
         "CurrentOssName": "al",
         "TemplateOssName": ""
       }

    定义一个接口, 并实现这个接口.

    public interface IOssSettings
        {
             IEnumerable<OssConfig> ConfigItems { get;  }
             string CurrentOssName { get;  }
             string TemplateOssName { get; }
        }

    然后在StartUp的ConfigureServices中添加注入

    services.AddSingleton<IOssSettings>((os) =>
                 {
                     var section = Configuration.GetSection("OssSettings");
                     return section.Get<OssSettings>();
                 });

    之后就可以在任何地方愉快滴使用 IOssSettings来注入使用了

     

    3. 外置配置文件

    public class Program
        {
            public static void Main(string[] args)
            { 
    
                CreateWebHostBuilder(args).Build().Run();
            }
    
            private static IConfiguration configuration {
                get
                {
                    var configuration = 
                        new ConfigurationBuilder()
                                            .SetBasePath(Directory.GetCurrentDirectory())
                                            .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
    
                                            // custom config file
                                            .AddJsonFile("GlobalSettings.json", optional: false, reloadOnChange: false)
                                            .Build();
                    return configuration;
                }
            }
    
            public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
                WebHost.CreateDefaultBuilder(args) 
                .UseConfiguration(configuration)
                    .UseStartup<Startup>(); 
        }

    新建一个类GlobalSettings
    services.Configure<GlobalSettings>(Configuration);

     需要使用Options注入使用, 见 https://www.cnblogs.com/qinzb/p/9297143.html

    然后就可以使用上面介绍的方式来注入使用了

  • 相关阅读:
    Pycharm创建Django项目示例
    Window下MyCat的下载与安装
    Python中使用xlrd、xlwt、xlutils读写Excel文件
    循环队列(Java实现)
    oracle 创建表
    win10 删除文件卡在99%
    python xx005文件操作
    python xx004集合
    python xx003字典
    不理解
  • 原文地址:https://www.cnblogs.com/jianjialin/p/9542410.html
Copyright © 2011-2022 走看看