.net core的配置系统Configuration详解

.Net

安装库
Microsoft.Extensions.Configuration
根据需要安装相关的库
Microsoft.Extensions.Configuration.Json
Microsoft.Extensions.Configuration.XML
Microsoft.Extensions.Configuration.Binder

using Microsoft.Extensions.Configuration;

加载配置文件
var initData = new List<KeyValuePair<string,string>>();
initData.Add(new KeyValuePair<String, string>("username", "niewei");

IConfiguration configuration = new ConfigurationBuilder().SetBasePath(Enviroment.CurrentDirectory)
.AddJsonFile("appsettings.json")
.AddXmlFile("appsettings.xml")
.AddInMemoryCollection(initData)
.Build();

var info = configuration["username"];

如果同名,后面的覆盖前面的。

读取配置的方式
{
"mysql": {
"host":"192.168.0.1",
"port":3306
},
"ids": [10, 20, 30, 40]
}
弱类型方式
1、":"运算符, configuration["mysql:ids:0"]
2、GetSection, configuration.GetSection("mysql").GetSection("ids").GetSection("0").Value
强类型方式
1、GetValue, configuration.GetValue("mysql:port")
2、Bind、Get映射为实体类
Rootobject rootobject = new Rootobject();
configuration.Bind(rootobject);

var rootobject = configuration.Get();

另:Visual Studio打开Json文件并选中所有内容复制,在需要创建类的地方,选择菜单【编辑】【选择性粘贴】【将JSON粘贴为类】自动创建类定义。

我的博客,记录,笔记