.NET中的配置系统支持丰富的配置源,包括文件(json,xml,ini等)、注册表、环境变量、命令行、Azure Key Vault等,还可以配置自定义配置源。可以跟踪配置的改变,可以按照优先级覆盖。
首先从Nuget安装所需的包:Microsoft.Extensions.Configuration和Microsoft.Extensions.Configuration.Json。创建Json文件,并将其属性改为如果较新则复制写入数据如下:
{
"name": "ron",
"age": "18",
"proxy": {"address":"TJ"}
}
之后完成代码,首先创建ConfigurationBuilder
对象configurationBuilder,之后通过AddJsonFile方法读取Json文件。之后使用configurationBuilder的Build方法,创建出一个IConfigurationRoot
类型对象configurationRoot,之后可以通过configurationRoot[]的方式将Json文件中的值直接赋值给string(Json文件中默认使用string类型)。具体代码如下:
internal class Program
{
static void Main(string[] args)
{
ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();
configurationBuilder.AddJsonFile("TextFile1.json",true,true);
IConfigurationRoot configurationRoot= configurationBuilder.Build();
string name = configurationRoot["name"];
string age = configurationRoot["age"];
string proxyAddress = configurationRoot.GetSection("proxy:address").Value;
Console.WriteLine(name);
Console.WriteLine(age);
Console.WriteLine(proxyAddress);
}
}
可以绑定一个类,自动完成配置的读取。 需要安装包:Microsoft.Extensions.Configuration.Binder 使用方法:
class Proxy
{
public string Address { get; set; }
public int Port { get; set; }
}
Proxy proxy = configurationRoot.GetSection("proxy").Get<Proxy>();
Console.WriteLine(proxy.Address);
Console.WriteLine(proxy.Port);
本文章使用limfx的vscode插件快速发布