ASP.NET Core笔记(3) - 配置

本文详细介绍了ASP.NET Core中的配置管理,包括配置规则、命令行配置、环境变量配置、文件配置、配置读取以及如何自定义配置数据源。配置加载顺序为:文件 -> 环境变量 -> 命令行,支持分层配置数据和多种格式的配置文件。通过实现IConfigurationSource和IConfigurationProvider可以创建自定义配置源。
摘要由CSDN通过智能技术生成
  • 配置规则
  • 命令行配置提供程序
  • 环境变量配置提供程序
  • 文件配置提供程序
  • 配置的读取
  • 自定义配置数据源

ASP.NET Core中的配置项可以通过命令行、环境变量、json/xml/ini配置文件来提供。

Web应用在生成主机时会调用CreateDefaultBuilder方法,这个方法按照下面的顺序添加各种配置提供程序:

  • 文件配置提供程序,用于加载appsetting.json
  • 文件配置提供程序,用于加载appsetting.{Environment}.json
  • 环境变量配置提供程序
  • 命令行配置提供程序

对于同一配置,后面加载的配置提供程序会覆盖前面加载的内容,所以配置的默认优先级从低到高依次为:文件 -> 环境变量 -> 命令行。

 

配置规则

 

分层配置数据

配置 API 能够通过在配置键中使用分隔符来展平分层数据以保持分层配置数据。
比如,这样的json文件:

 

{
  "section0": {
    "key0": "value",
    "key1": "value"
  },
  "section1": {
    "key0": "value",
    "key1": "value"
  }
}

配置提供程序加载时,将使用冒号 (😃 展平节和键,以这样的方式创建唯一键以保持配置源的原始分层数据结构。

 

section0:key0
section0:key1
section1:key0
section1:key1

 

关于键和值的约定

配置键采用以下约定:

  • 不区分大小写;
  • 如果由相同或不同的配置提供程序设置相同键的值,则键上设置的最后一个值就是所使用的值;
  • 分层键默认使用冒号分隔符,但在环境变量中,冒号分隔符可能无法适用于所有平台,可以用双下划线代替。

配置值的约定:

  • 值是字符串;
  • NULL值不能存储在配置中或绑定到对象。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值