您现在的位置是:网站首页> 编程资料编程资料
ASP.NET Core读取配置文件_基础应用_
2023-05-24
320人已围观
简介 ASP.NET Core读取配置文件_基础应用_
ASP.NET Core 中,可以使用 ConfigurationBuilder 对象来构建。
主要分为三部:配置数据源 -> ConfigurationBuilder -> 使用。
数据源可来自字典或配置文件。
数据源要么继承 IConfigurationSource ,要么从配置文件中读取。
1,来自字典
我们先使用字典存储键值对,来设置配置, test = 配置,然后使用 ConfigurationBuilder.Add() 方法添加数据源, Add 方法可以添加继承了 IConfigurationSource的数据源。
MemoryConfigurationSource 继承了 IConfigurationSource ,使用字典作为数据源。
var dic = new Dictionary() { ["test"] = "配置" }; var config = new ConfigurationBuilder() .Add(new MemoryConfigurationSource() { InitialData = dic }).Build(); string test = config["test"];
老是 new 不太爽,可以使用下面的方法来读取字典中的数据源:
var dic = new Dictionary() { ["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() { ["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() { ["A"] = "6", ["B"] = "66", ["C"] = "666" }; TestOptions config = new ConfigurationBuilder() .AddInMemoryCollection(dic) .Build().Get ();
到此这篇关于ASP.NET Core读取配置文件的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持。
- ASP.NET Core配置文件的获取和设置
- ASP.NET CORE读取json格式配置文件
- ASP.NET Core应用程序配置文件AppSetting.json
- ASP.NET Core根据环境变量支持多个 appsettings.json配置文件
- ASP.NET Core中修改配置文件后自动加载新配置的方法详解
- Asp.net Core与类库读取配置文件信息的方法
- 如何在ASP.NET Core类库项目中读取配置文件详解
- ASP.NET core Web中使用appsettings.json配置文件的方法
- 详解ASP.NET Core 在 JSON 文件中配置依赖注入
- 如何使用ASP.NET Core 配置文件
相关内容
- ASP.NET Core选项接口介绍_实用技巧_
- Entity Framework Core延迟加载(懒加载)用法_实用技巧_
- EF Core通过显式编译提高查询性能_实用技巧_
- ASP.NET Core MVC中Required与BindRequired用法与区别介绍_基础应用_
- C#元组类型ValueTuple用法详解_实用技巧_
- WPF开发之利用DrawingVisual绘制高性能曲线图_实用技巧_
- 使用源链接对ASP.NET Core源代码进行调试_实用技巧_
- Entity Framework Core实现Like查询详解_实用技巧_
- ASP.NET Core中的Razor页面使用视图组件_基础应用_
- ASP.NET Core中的Razor页面实现路由功能_实用技巧_
