最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
ASP.NETCore读取配置文件
时间:2026-09-17 10:10:01 编辑:袖梨 来源:一聚教程网
ASP.NET Core 中,可以使用 ConfigurationBuilder 对象来构建。
主要分为三部:配置数据源 -> ConfigurationBuilder -> 使用。
数据源可来自字典或配置文件。
数据源要么继承 IConfigurationSource ,要么从配置文件中读取。
1,来自字典
我们先使用字典存储键值对,来设置配置,test = 配置,然后使用ConfigurationBuilder.Add()方法添加数据源,Add方法可以添加继承了IConfigurationSource的数据源。
MemoryConfigurationSource继承了IConfigurationSource,使用字典作为数据源。
var dic = new Dictionary<string, string>(){["test"] = "配置"};var config = new ConfigurationBuilder().Add(new MemoryConfigurationSource() { InitialData = dic }).Build();string test = config["test"];老是 new 不太爽,可以使用下面的方法来读取字典中的数据源:
var dic = new Dictionary<string, string>(){["test"] = "配置"};var config = new ConfigurationBuilder().AddInMemoryCollection(dic).Build();string test = config["test"];2,来自配置文件
假如在 项目根目录下创建一个 json 文件,内容如下:
{"test":"配置"}那么可以这样读取配置:
var config = new ConfigurationBuilder().AddJsonFile("test.json").Build();string test = config["test"];Console.WriteLine(test);如果配置文件不在根目录下,则可以使用SetBasePath()来定义路径,示例如下:
var config = new ConfigurationBuilder().SetBasePath("E:\test\aaa").AddJsonFile("test.json").Build();上面看到,获取配置项是非常简单的,config["{KeyName}"]即可获得value。
另外,可以监控 json 文件,当 json 文件发生更改时,主动更新。
config.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);3,层次结构
配置数据源可以有层次结构。
ASP.NET Core 中,都会有个 appsettings.json 文件,其内容如下:
{"Logging": {"LogLevel": {"Default": "Information","Microsoft": "Warning","Microsoft.Hosting.Lifetime": "Information"}}}那么我们使用时,可以使用:符号获取下一层子项的配置。
var config = new ConfigurationBuilder().AddJsonFile("appsettings.json").Build();string test = config["Logging:LogLevel:Default"];如果你只想 获取 json 文件中LogLevel部分的配置,可以使用GetSection()方法。
var config = new ConfigurationBuilder().AddJsonFile("appsettings.json").Build().GetSection("Logging:LogLevel");string test = config["Default"];通过 json 配置文件,我们可以很方便地构建层级结构的配置,如果想在字典中存储,可以使用 "{k1}:{k2}" 这种形式存。例如:
var dic = new Dictionary<string, string>(){["testParent:Child1"] = "6",["testParent:Child2"] = "666"};var config = new ConfigurationBuilder().AddInMemoryCollection(dic).Build().GetSection("testParent");string test = config["Child1"];4,映射
我们可以使用Get<>()方法,将配置映射为对象。
public class TestOptions{public string A { get; set; }public string B { get; set; }public string C { get; set; }}var dic = new Dictionary<string, string>(){["A"] = "6",["B"] = "66",["C"] = "666"};TestOptions config = new ConfigurationBuilder().AddInMemoryCollection(dic).Build().Get<TestOptions>();到此这篇关于ASP.NET Core读取配置文件的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持一聚教程网。
相关文章
- Copilot Word实操:快速生成管理层销售项目周报 09-17
- 别只对 AI 说“我要什么”:把需求讲清楚才有好结果 09-17
- EntityFramework系统架构与原理介绍 09-17
- 岗位Agent试岗:别只验收它的回答 09-17
- 企业级智能问答系统搭建实战:向量库架构与取舍 09-17
- Spring AI Alibaba Graph 入门实践:理解黑板、节点与边 09-17