在.net中的配置文件系统支持丰富的配置源,包括文件(json、xml、ini等)、注册表、环境变量、命令行、Azure Key Vault等,还可以配置自定义配置源并跟踪配置的改变,然后按照优先级进行覆盖,总之对文件的配置有很多方法,这里我们就举几个最常用的例子来讲解。
目录
config配置管理
配置json文件:是目前最常用的配置文件格式,在.net中也有许多针对json文件格式进行处理的配置,这里我们可以直接在.net core项目中添加一个json文件,然后里面写一些配置信息,如下:
{
"name": "test-app",
"age": "20",
"proxy": {"address": "aaa"}
}
写好config.json配置文件之后,我们需要右键其属性然后设置一下复制到最新目录的情况:
然后我们借助NuGet安装两个包,如下一个是对config配置的包,一个是对json操作的包:
然后我们执行如下语句,通过ConfigurationBuilder加载一个json配置文件,从配置中读取简单的键值对(例如 "name")以及嵌套的配置项(例如 "proxy:address"),输出读取到的配置信息:
namespace Program
{
class Program
{
static void Main(string[] args)
{
ConfigurationBuilder configBuilder = new ConfigurationBuilder();
configBuilder.AddJsonFile("config.json", optional: true, reloadOnChange: true);
IConfiguration configRoot = configBuilder.Build();
string name = configRoot["name"];
Console.WriteLine($"name = {name}");
string address = configRoot.GetSection("proxy:address").Value;
Console.WriteLine($"address = {address}");
Console.ReadKey();
}
}
}
得到的结果如下所示:
绑定读取配置