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

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

  • 相关阅读:
    03 Gradient Descent
    RoarCTF2019 babyRSA
    SpreadJS 纯前端表格控件应用案例:在线问卷系统
    SpreadJS 纯前端表格控件应用案例:资料填报系统
    SpreadJS 纯前端表格控件应用案例:物业行业全面预算管理系统
    SpreadJS 纯前端表格控件应用案例:PtLims云平台
    SpreadJS 纯前端表格控件应用案例:实验室信息化管理系统
    身份证你需要了解的知识点
    vue-vuex-getters的基本使用
    vue-vuex-mutations的基本使用
  • 原文地址:https://www.cnblogs.com/jianjialin/p/9542410.html
Copyright © 2011-2022 走看看