当前位置: 移动技术网 > IT编程>开发语言>.net > asp.net core 2.1 配置管理

asp.net core 2.1 配置管理

2018年08月28日  | 移动技术网IT编程  | 我要评论

演员达式常近况,东风之眠,赤羽の生意気

1. 直接读取配置

startup类中使用 configuration["connectionstring"], configuration["aliyunaksk:ak"]

如果在service中想读取配置, 就先注入iconfiguration configuration

 

2. 配置强类型化读取

现有配置节点如下

"osssettings": {
     "configitems": [
       {
         "name": "ali_",
         "domain": "img.",
         "officaldomain": "img.",
         "accessid": "",
         "accesskey": "",
         "endpoint": "
,
         "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

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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网