配置管理简单例子(添加内存配置)
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
配置热更新
在视图中依赖注入Options
ASP.NET CORE 2.0 配置管理
原文地址:https://www.cnblogs.com/lgxlsm/p/9096394.html