.NET Core 配置文件

本文对比了老一代配置系统的局限性,如XML格式单一、配置信息一维化等问题,介绍了新一代配置系统的优势,包括支持多种格式(json, xml, init等)、参数热加载及多维配置。同时,详细阐述了如何通过nuget包Microsoft.Extensions.Configuration及其扩展包进行数据读取和模型转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

老一代配置系统

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

 

代码下载

转载于:https://www.cnblogs.com/wudequn/p/10106041.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值