特性
- 支持多种格式
- xml
- json
- ini
- memory
- command
- env
- 支持多层嵌套
//.Net Core
{
"username": "Jack",
"mysql": {
"port": 2020,
"uid": "root"
}
}
- EF 框架信息 与程序配置信息耦合在同一文件下, .Net Core 实现了两者解耦
- 支持多环境
- 针对不对环境 创建相应配置文件 再通过环境变量获取对应配置文件
- 实现了 配置热加载【不重启服务下 监测配置文件变更】
- 具体实现 -- 配置参数 reloadOnChange:true
.AddJsonFile("AppSettings.json",optional:true,reloadOnChange:true)
// optional:文件是否可选 true-文件不存在时也不会报错;
// reloadOnChange:是否实现热加载
使用教程
- 安装NuGet包【.Net Core 不再有引用程序集 均通过NuGet包】
- Microsoft.Extensions.Configuration.Json 【不同配置文件类型 对应安装包不同 这里使用json类型配置文件】
- 添加使用
Configuration = new ConfigurationBuilder().SetBasePath(Environment.CurrentDirectory)
.AddJsonFile("AppSettings.json")
.Build();
//获取变量
var s = Configuration["username"];
//层级获取
var info = Configuration["mysql:port"];