老一代配置系统
1,XML格式 格式单一。
2,配置信息Kye,只能一维化配置
3,框架信息和应用程序信息混合到一起
应用程序中是 App.config
web项目中 web.config
使用程序集 System.Configuration
新一代配置系统
1支持配置文件格式 json xml init 环境变量 memory
2参数热加载
3参数多维
nuget包
Microsoft.Extensions.Configuration
主要是用上面的
下面的是对应不同文件类型的扩展 都是扩展方法
Microsoft.Extensions.Configuration.Json
Microsoft.Extensions.Configuration.Xml
Microsoft.Extensions.Configuration.Init
Microsoft.Extensions.Configuration.EnvironmentVariables
下面的是进行模型转换的
Microsoft.Extensions.Configuration.Binder
数据读取
//1 : 运算符 层级管理 数据的话用索引var dcf1 = config["mysql:host"];Console.WriteLine(dcf1);var dcf11 = config["shopidlist:1:entid"];Console.WriteLine(dcf11);//2 getsection getsection("")[""]var dcf2 = config.GetSection("mysql").GetSection("host").Value;Console.WriteLine(dcf2);var dcf21 = config.GetSection("mysql:host").Value;Console.WriteLine(dcf21);var dcf3 = config.GetSection("mysql")["host"];Console.WriteLine(dcf3);var dcf4 = config.GetSection("shopidlist").GetSection("1")["entid"];Console.WriteLine(dcf4);var dcf5 = config.GetSection("shopidlist").GetSection("1").GetSection("entid").Value;Console.WriteLine(dcf5);//3强类型读取 Microsoft.Extensions.Configuration.Binder//开发中常用强类型var dcf6 = config.GetValue<int>("shopidlist:1:entid");Console.WriteLine(dcf6);Rootobject dcf7 = new Rootobject();config.Bind(dcf7);Console.WriteLine(dcf7.mysql.host);
View Code