配置管理简单例子(添加内存配置)
using Microsoft.Extensions.Configuration; using System; using System.Collections.Generic; namespace ConsoleCore { class Program { static void Main(string[] args) { var dic = new Dictionary<string, string>() { { "name","wolf"}, { "age","28"}, }; var builder = new ConfigurationBuilder() .AddInMemoryCollection(dic); var configuration = builder.Build(); Console.WriteLine($"name:{configuration["name"]}"); Console.WriteLine($"age:{configuration["age"]}"); Console.ReadLine(); } } }
Json文件配置
using Microsoft.Extensions.Configuration; using System; using System.Collections.Generic; namespace ConsoleCore { class Program { static void Main(string[] args) { var dic = new Dictionary<string, string>() { { "name","wolf"}, { "age","28"}, }; var builder = new ConfigurationBuilder() .AddInMemoryCollection(dic) .AddJsonFile("wolf.json"); var configuration = builder.Build(); //key相同后面覆盖前面,还有configuration格式介绍 Console.WriteLine($"name:{configuration["name"]}"); Console.WriteLine($"age:{configuration["age"]}"); Console.WriteLine($"age:{configuration["list:0:name"]}"); Console.WriteLine($"age:{configuration["list:0:age"]}"); Console.WriteLine($"age:{configuration["list:1:name"]}"); Console.WriteLine($"age:{configuration["list:1:age"]}"); Console.ReadLine(); } } }
{ "name": "wolf1", "age": 30, "list": [ { "name": "wolf2", "age": 35 }, { "name": "wolf3", "age": 37 } ] }
Bind读取配置到C#实例
using ConsoleCore; using Microsoft.Extensions.Configuration; using System; using System.Collections.Generic; namespace ConsoleCore { class Program { static void Main(string[] args) { var dic = new Dictionary<string, string>() { { "name","wolf"}, { "age","28"}, }; var builder = new ConfigurationBuilder() .AddInMemoryCollection(dic) .AddJsonFile("wolf.json"); var configuration = builder.Build(); var aaa = new AAA(); configuration.Bind(aaa); Console.WriteLine($"name:{aaa.list[0].name}"); Console.WriteLine($"age:{aaa.list[0].age}"); Console.ReadLine(); } } public class AA { public string name { get; set; } public string age { get; set; } } public class AAA { public string name { get; set; } public string age { get; set; } public List<AA> list { get; set; } } }
在Core MVC内使用Options
配置热更新