广告
返回顶部
首页 > 资讯 > 后端开发 > ASP.NET >ASP.NETCore读取配置文件
  • 2080
分享到

ASP.NETCore读取配置文件

2024-04-02 19:04:59 2080人浏览 独家记忆
摘要

ASP.net core 中,可以使用 ConfigurationBuilder 对象来构建。 主要分为三部:配置数据源 -> ConfigurationBuilder -&g

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读取配置文件的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: ASP.NETCore读取配置文件

本文链接: https://www.lsjlt.com/news/140130.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • ASP.NETCore读取配置文件
    ASP.NET Core 中,可以使用 ConfigurationBuilder 对象来构建。 主要分为三部:配置数据源 -> ConfigurationBuilder -&g...
    99+
    2022-11-13
  • ASP.NETCore配置文件的获取和设置
    在ASP.NET Core 中,应用程序配置数据可以使用JSON, XML 和 INI格式 和内置环境变量,命令行参数或内存中的集合。 1.如何获取和设置配置 ASP.NET Cor...
    99+
    2022-11-13
  • .NETCore读取配置文件
    1. 说明 默认情况下读取配置Configuration的默认优先级:ConfigureAppConfiguration(自定义读取)>CommandLine(命令行参数)&g...
    99+
    2022-11-13
  • Python读取配置文件
    文章目录 Python读取配置文件一、 yaml1、 准备2、 操作数据2.1 读取数据2.2 写入数据 二、 ini1、准备2、 操作数据2.1 读取数据2.2. 写数据 ...
    99+
    2023-09-03
    python 开发语言
  • Unity 读取文件 TextAsset读取配置文件方式
    1 支持文件类型 .txt .html .htm .xml .bytes .json .csv .yaml .fnt 2 寻找文件 1 //Load texture from d...
    99+
    2022-11-12
  • ResourceBundle类:读取配置文件
    ResourceBundle类是一个用于读取配置文件的工具类。它可以从类路径或文件系统中加载配置文件,并提供了一些方便的方法来获取配...
    99+
    2023-09-23
    文件
  • python读取yaml配置文件
    1.yaml [ˈjæməl]: Yet Another Markup Language :另一种标记语言。yaml 是专门用来写配置文件的语言,非常简洁和强大,之前用ini也能写配置文件,看了yaml后,发现这个更直观,更方便,有点类似...
    99+
    2023-01-31
    配置文件 python yaml
  • Python3 读取 ini 配置文件(
    【背景】  Windows 的记事本会给 UTF-8 文件添加 BOM 头,很烦,搞个通用的读取配置文件的代码。可能报这种错误:configparser.MissingSectionHeaderError: File contains no...
    99+
    2023-01-31
    配置文件 ini
  • Python3 读取 toml 配置文件
    【吐槽】    先吐槽一下其他几个配置文件。ini:表达能力不够,比如不能表达列表等结构;没有官方注释符号,虽然一般以分号作为注释符号。json:没有官方注释符号,虽然某些第三方包提供了注释结构。yaml:语法比较复杂,可读性不太高。【to...
    99+
    2023-01-31
    配置文件 toml
  • springboot怎么读取配置文件
    在Spring Boot中,可以通过`@Value`注解、`Environment`接口、`@ConfigurationProper...
    99+
    2023-10-25
    springboot
  • 如何读取Flex配置文件
    这篇文章主要介绍了如何读取Flex配置文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Flex在运行时如何读取Flex配置文件Flex简介AdobeFlex是为满足希望开发...
    99+
    2023-06-17
  • java如何读取配置文件
    Java中可以使用java.util.Properties类来读取配置文件。Properties类提供了一些方法来读取和操作属性文件...
    99+
    2023-08-08
    java
  • Python怎么读取配置文件
    这篇文章主要讲解了“Python怎么读取配置文件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python怎么读取配置文件”吧!一、 yaml1、 准备支持的数据类型:字典、列表、字符串、布...
    99+
    2023-07-05
  • shell怎么读取配置文件
    本篇内容介绍了“shell怎么读取配置文件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在编写启动脚本时,涉及到读取配置文件,特地记录下sh...
    99+
    2023-07-06
  • thinkphp5如何读取配置文件
    本篇内容介绍了“thinkphp5如何读取配置文件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在使用ThinkPHP5框架时,我们通常需要...
    99+
    2023-07-05
  • ASP.NETCore应用程序配置文件AppSetting.json
    AppSetting.json 当我们使用空项目模板或Razor页面或MVC模板或Web API模板创建ASP.NET Core Web应用程序时,Visual Studio会自动为...
    99+
    2022-11-13
  • java怎么读取properties配置文件
    在Java中,可以使用`java.util.Properties`类来读取.properties配置文件。下面是一个简单的示例代码:...
    99+
    2023-09-20
    java
  • java怎么读取xml配置文件
    在Java中,读取XML配置文件有多种方法,其中比较常用的是使用DOM解析器或者SAX解析器。1. 使用DOM解析器:```java...
    99+
    2023-09-11
    java
  • python学习之读取配置文件
    前言: 最近在接触利用python来写测试框架,本人也是个刚接触python,所以是个小菜鸟,今天开始,一点点的记录学习中的积累,方便以后的学习以及回顾,也希望能帮助跟我一样的小菜鸟...
    99+
    2022-11-10
  • 通过python读取ini配置文件
    ini是啥你可以理解为就是一个配置文件的统称吧。比如test.conf,这样的你可以理解为他就是ini文件,里面一般存放一些配置信息。比如数据库的基本信息,一会我们进行讲解!那么ta的好处是啥呢?就是把一些配置信息提出去来进行单独管理,如果...
    99+
    2023-01-31
    配置文件 python ini
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作