第8课:配置框架:让服务无缝适应各种环境

学习分享 丨作者 / 郑 子 铭 丨公众号 / DotNet NB / CloudNative NB

配置是应用程序发布到各种环境的必备能力,这一节开始详细讲解 ASP.NET Core 的配置框架

配置框架的核心包有两个,一个抽象包,一个实现包

  • Microsoft.Extensions.Configuration.Abstractions

  • Microsoft.Extensions.Configuration

这与依赖注入框架一样,也是使用了接口实现分离的设计模式

配置框架以 Key-value 字符串键值对的方式抽象了配置

同时还支持从各种不同的数据源读取配置,比如从命令行读取,从环境变量读取,从文件中读取

配置框架的核心接口有四个

  • IConfiguration

  • IConfigurationRoot

  • IConfigurationSection

  • IConfigurationBuilder

配置框架有一个核心的扩展点,就是注入自己的配置源,也就是说可以指定任意的配置的数据来源,注入到配置框架里面

  • IConfigurationSource

  • IConfigurationProvider

接下来通过一个基本的控制台应用程序从头到尾演示一个配置的构建和使用

首先引入上面提到的两个包

  • Microsoft.Extensions.Configuration.Abstractions

  • Microsoft.Extensions.Configuration

接着是构建和使用

启动程序,输出如下:

IConfigurationSection

启动程序,输出如下:

section1 的 key5 没有值

打印一下 section2 的 key5

启动程序,输出如下:

多级嵌套

打印输出

启动程序,输出如下:

GitHub源码链接:https://github.com/MingsonZheng/DotNetCoreDevelopmentActualCombat/tree/main/ConfigurationDemo

Last updated