Asp.Net Core配置的知识总结

本文深入解析ASP.NET Core配置模型,介绍IConfiguration、IConfigurationBuilder、IConfigurationSource和IConfigurationProvider四大核心对象及其关系,揭示配置树的构建原理。

配置在Asp.Net Core中由四个核心的对象组成:

IConfiguration:配置的最终产出物,它代表了整个asp.net core应用的配置树,这棵树有根节点,子节点和叶子节点,根节点由IConfigurationRoot来表示,子节点由IConfigurationSection来表示,叶子节点则是由key value的键值对来表示的。

IConfigurationBuilder:它是IConfiguration的构造者

IConfigurationSource:它表示IConfiguration中的一个个配置源,注册到IConfigurationBuilder中,形成一个IEnumerable<IConfigurationSource>列表。由于有不同的配置源,比如josn文件,环境变量,INI文件,XML文件,Console控制台等等,所以,需要有一个中间的源头参与,这个中间人就是key value键值对,能够产生这个键值对的类型是IConfigurationProvider。

IConfigurationProvider:由IConfigurationSource生成。这个类型中定义了一些方法,都是用key来获取value的,也就是说基本都是操作字典的方法。

这四个核心对象之间的关系简单而清晰,完全可以通过一句话来概括:IConfigurationBuilder利用注册的IConfigurationSource提供的IConfigurationProvider读取原始配置数据并创建出相应的IConfiguration对象。下图所示的UML展示了配置模型涉及的主要接口/类型以及它们之间的关系。

 

 IConfiguration的一个比较重要的知识是利用“:”作为路径的层次结构,在IConfiguration中,有key和path这两个概念,path表示当前节点在整棵配置树中的位置,而key标志了当前的节点,如果当前节点还有子节点,那么key对应的value会返回null,如果为子节点(键值对),那么会返回当前key对应的value

 

转载于:https://www.cnblogs.com/pangjianxin/p/10118098.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值