ASP.NET Core读取配置文件

打印 上一主题 下一主题

主题 641|帖子 641|积分 1923

参考视频(杨中科):

配置体系1-入门:
https://www.bilibili.com/video/BV1pK41137He?vd_source=b7200d0eaee914e9c128dcabce5df118&p=40&spm_id_from=333.788.videopod.episodes
配置体系2-选项方式读取:
https://www.bilibili.com/video/BV1pK41137He?vd_source=b7200d0eaee914e9c128dcabce5df118&spm_id_from=333.788.videopod.episodes&p=41
配置体系3-其他配置提供者:
https://www.bilibili.com/video/BV1pK41137He?vd_source=b7200d0eaee914e9c128dcabce5df118&spm_id_from=333.788.videopod.episodes&p=42
配置体系4-开发本身的配置提供者:
https://www.bilibili.com/video/BV1pK41137He?vd_source=b7200d0eaee914e9c128dcabce5df118&spm_id_from=333.788.videopod.episodes&p=43
配置体系5-开发数据库配置提供者
https://www.bilibili.com/video/BV1pK41137He?vd_source=b7200d0eaee914e9c128dcabce5df118&spm_id_from=333.788.videopod.episodes&p=44
配置体系6-多配置源的优先级
https://www.bilibili.com/video/BV1pK41137He?vd_source=b7200d0eaee914e9c128dcabce5df118&spm_id_from=333.788.videopod.episodes&p=45
参考资料:


实际使用

读取

新建控制台程序

添加测试用的配置文件,设置属性

https://images.cnblogs.com/cnblogs_com/blogs/838411/galleries/2448086/t_250306151340_Pasted image 20250306221416.png
安装Microsoft.Extensions.Configuration和Microsoft.Extensions.Configuration.Json

编写如下代码(这里我使用了顶级语句):
  1. // See https://aka.ms/new-console-template for more information
  2. using Microsoft.Extensions.Configuration;
  3. ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();
  4. configurationBuilder.AddJsonFile("config.json", optional: false, reloadOnChange: false);
  5. IConfigurationRoot configurationRoot = configurationBuilder.Build();
  6. string name = configurationRoot["name"];
  7. Console.WriteLine($"name = {name}");
  8. string proxyAddress = configurationRoot.GetSection("proxy:address").Value;
  9. Console.WriteLine($"address={proxyAddress}");
复制代码
运行代码查看结果:


浅析代码:

configurationBuilder.AddJsonFile("config.json", optional: false, reloadOnChange: false):

  • 添加了一个待解析的名为”config.json“的配置文件,
  • optional:表示这个文件是否可选,false意味着配置文件不存在时候会报错
  • reloadOnChange:表示假如文件修改了,是否重新加载配置
测试上述的属性:

1、config.json改为config1.json


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


3、reloadOnChange: true

需要修改代码持续的打印在控制台上,然后修改配置文件  修改的代码参考下面的;
  1. // See https://aka.ms/new-console-template for more information
  2. using Microsoft.Extensions.Configuration;
  3. await Task.Run(async () =>
  4. {
  5.     while (true)
  6.     {
  7.         ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();
  8.         configurationBuilder.AddJsonFile("config.json", optional: false, reloadOnChange: true);
  9.         IConfigurationRoot configurationRoot = configurationBuilder.Build();
  10.         string name = configurationRoot["name"];
  11.         Console.WriteLine($"name = {name}");
  12.         string proxyAddress = configurationRoot.GetSection("proxy:address").Value;
  13.         Console.WriteLine($"address={proxyAddress}");
  14.         await Task.Delay(2000);
  15.     }
  16. });
复制代码

去修改配置文件

!!!发现并没有更新
去看作者的视频发现:



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

李优秀

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表