參考視頻(楊中科):
配置系統(tǒng)1-入門:
https://www.bilibili.com/video/BV1pK41137He?vd_source=b7200d0eaee914e9c128dcabce5df118&p=40&spm_id_from=333.788.videopod.episodes
配置系統(tǒng)2-選項(xiàng)方式讀取:
https://www.bilibili.com/video/BV1pK41137He?vd_source=b7200d0eaee914e9c128dcabce5df118&spm_id_from=333.788.videopod.episodes&p=41
配置系統(tǒng)3-其他配置提供者:
https://www.bilibili.com/video/BV1pK41137He?vd_source=b7200d0eaee914e9c128dcabce5df118&spm_id_from=333.788.videopod.episodes&p=42
配置系統(tǒng)4-開發(fā)自己的配置提供者:
https://www.bilibili.com/video/BV1pK41137He?vd_source=b7200d0eaee914e9c128dcabce5df118&spm_id_from=333.788.videopod.episodes&p=43
配置系統(tǒng)5-開發(fā)數(shù)據(jù)庫(kù)配置提供者
https://www.bilibili.com/video/BV1pK41137He?vd_source=b7200d0eaee914e9c128dcabce5df118&spm_id_from=333.788.videopod.episodes&p=44
配置系統(tǒng)6-多配置源的優(yōu)先級(jí)
https://www.bilibili.com/video/BV1pK41137He?vd_source=b7200d0eaee914e9c128dcabce5df118&spm_id_from=333.788.videopod.episodes&p=45
參考資料:

實(shí)際使用
讀取
新建控制臺(tái)程序
添加測(cè)試用的配置文件,設(shè)置屬性
安裝Microsoft.Extensions.Configuration和Microsoft.Extensions.Configuration.Json
編寫如下代碼(這里我使用了頂級(jí)語(yǔ)句):
// See https://aka.ms/new-console-template for more information
using Microsoft.Extensions.Configuration;
ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();
configurationBuilder.AddJsonFile("config.json", optional: false, reloadOnChange: false);
IConfigurationRoot configurationRoot = configurationBuilder.Build();
string name = configurationRoot["name"];
Console.WriteLine($"name = {name}");
string proxyAddress = configurationRoot.GetSection("proxy:address").Value;
Console.WriteLine($"address={proxyAddress}");
運(yùn)行代碼查看結(jié)果:

淺析代碼:
configurationBuilder.AddJsonFile("config.json", optional: false, reloadOnChange: false):
- 添加了一個(gè)待解析的名為”config.json“的配置文件,
- optional:表示這個(gè)文件是否可選,false意味著配置文件不存在時(shí)候會(huì)報(bào)錯(cuò)
- reloadOnChange:表示如果文件修改了,是否重新加載配置
測(cè)試上述的屬性:
1、config.json改為config1.json

2、config.json改為config1.json && optional: true

3、reloadOnChange: true
需要修改代碼持續(xù)的打印在控制臺(tái)上,然后修改配置文件 修改的代碼參考下面的;
// See https://aka.ms/new-console-template for more information
using Microsoft.Extensions.Configuration;
await Task.Run(async () =>
{
while (true)
{
ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();
configurationBuilder.AddJsonFile("config.json", optional: false, reloadOnChange: true);
IConfigurationRoot configurationRoot = configurationBuilder.Build();
string name = configurationRoot["name"];
Console.WriteLine($"name = {name}");
string proxyAddress = configurationRoot.GetSection("proxy:address").Value;
Console.WriteLine($"address={proxyAddress}");
await Task.Delay(2000);
}
});

去修改配置文件

?。。?mark>發(fā)現(xiàn)并沒有更新
去看作者的視頻發(fā)現(xiàn):

浙公網(wǎng)安備 33010602011771號(hào)