老一代配置系统
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);
原文:https://www.cnblogs.com/wudequn/p/10106041.html