.NET Core配置系统-1 入门


1. 说明

.NET中的配置系统支持丰富的配置源,包括文件(json,xml,ini等)、注册表、环境变量、命令行、Azure Key Vault等,还可以配置自定义配置源。可以跟踪配置的改变,可以按照优先级覆盖。

2. Json格式

首先从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);
    }
}

3. 绑定读取配置(*)

可以绑定一个类,自动完成配置的读取。 需要安装包:Microsoft.Extensions.Configuration.Binder 使用方法:

  1. 新建一个类Proxy
class Proxy
{
    public string Address { get; set; }
    public int Port { get; set; }
}
  1. 使用自动配置读取:
Proxy proxy = configurationRoot.GetSection("proxy").Get<Proxy>();
Console.WriteLine(proxy.Address);
Console.WriteLine(proxy.Port);

本文章使用limfx的vscode插件快速发布