Json配置文件
{
"name": "aaa",
"Domain": {
"ImgUrl": "aaaa",
"H5Url": "bbbb"
},
"Connections": [
{
"Key": "default",
"Value": "Data Source=.,1433;Initial Catalog=xxx;Persist Security Info=True;User ID=sa;Password=123",
"DbContext": "DataContext",
"DBType": "SqlServer"
}
]
}
NuGit安装 基础包
Install-Package Microsoft.Extensions.Configuration;
Install-Package Microsoft.Extensions.Configuration.Json
读取方式
//手动读取配置
ConfigurationBuilder configBuilder = new ConfigurationBuilder();
configBuilder.AddJsonFile("config.json",
optional: false,//optional=false 的时候 如果无文件 会报错
reloadOnChange: false);//reloadOnChange=如果文件修改了,重新加载配置
IConfigurationRoot configRoot = configBuilder.Build();
string name = configRoot["name"];
string ImgUrl = configRoot.GetSection("Domain:ImgUrl").Value;
string ImgUrl2 = configRoot["Domain:ImgUrl"];
var ConnectionsValue = configRoot.GetSection("Connections:0:Value");
第二种:绑定类读取配置
NuGet 安装:Microsoft.Extensions.Configuration.Binder
//绑定类
public class Config
{
public string Name { get; set; }
public List<ConfigConnection> Connections { get; set; }
}
public class ConfigConnection
{
public string Key { get; set; }
public string Value { get; set; }
public string DbContext { get; set; }
public string DBType { get; set; }
}
/// <summary>
/// 绑定类读取配置
/// 绑定一个类,自动完成额配置的读取
/// NuGet 安装:Microsoft.Extensions.Configuration.Binder
/// </summary>
public static string GetValue2(string key)
{
ConfigurationBuilder configBuilder = new ConfigurationBuilder();
configBuilder.AddJsonFile("config.json",
optional: false,//optional=false 的时候 如果无文件 会报错
reloadOnChange: false);//reloadOnChange=如果文件修改了,重新加载配置
IConfigurationRoot configRoot = configBuilder.Build();
var config = configRoot.Get<Config>();//整个json结构
//var config = configRoot.GetSection("Connections").Get<Config>();//Connections节点的
return config.Name;
}