.Net Core 读取配置文件

这篇具有很好参考价值的文章主要介绍了.Net Core 读取配置文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录
  • appsetting.json
  • IConfiguration 读取
  • IConfiguration Bind 读取
  • IOptionsMonitor 读取
    • Program.cs
    • 构造注入
    • 使用
  • IOptions 读取
    • Program.cs
    • 构造注入
    • 使用

appsetting.json

  1. 用于测试appsetting.json

{
  "Name": "刘德华",
  "Teacher": {
    "Name": "张无忌",
    "Age": "125"
  },
  "ReadConfigArray": [
    "ReadConfigArray_1",
    "ReadConfigArray_2",
    "ReadConfigArray_3"
  ],
  "TestObject": {
    "Name": "刘德华",
    "Teacher": {
      "Name": "张无忌",
      "Age": "125"
    },
    "ReadConfigArray": [
      "ReadConfigArray_1",
      "ReadConfigArray_2",
      "ReadConfigArray_3"
    ]
  }
}


IConfiguration 读取

  1. 直接构造函数注入
Console.WriteLine("name: "+_configuration["Name"]);
Console.WriteLine("Teacher:Name " + _configuration["Teacher:Name"]);
Console.WriteLine("Teacher:Age " + _configuration["Teacher:Age"]);
Console.WriteLine("ReadConfigArray:0 " + _configuration["ReadConfigArray:0"]);
Console.WriteLine("ReadConfigArray:1 " + _configuration["ReadConfigArray:1"]);
Console.WriteLine("ReadConfigArray:2 " + _configuration["ReadConfigArray:2"]);

IConfiguration Bind 读取

  1. 使用Bind方法与对象绑定,然后操作对象即可,
  • 注意: 对象属性与配置文件节点相同
using NuGet.DependencyResolver;

namespace Entity
{
    public class ConfigTestObject
    {
        public string? Name { get; set; }
        public ConfigTestObjectTeacher? Teacher { get; set; }
        public List<string>? ReadConfigArray { get;set; }
    }

    public class ConfigTestObjectTeacher
    {
        public string? Name { get; set; }
        public int Age { get; set; }
    }
}
ConfigTestObject configTestObject = new ConfigTestObject();
_configuration.Bind("TestObject", configTestObject);

Console.WriteLine("name: " + configTestObject.Name);
Console.WriteLine("Teacher:Name " + configTestObject.Teacher?.Name);
Console.WriteLine("Teacher:Age " + configTestObject.Teacher?.Age);
Console.WriteLine("ReadConfigArray:0 " + configTestObject.ReadConfigArray?[0]);
Console.WriteLine("ReadConfigArray:1 " + configTestObject.ReadConfigArray?[1]);
Console.WriteLine("ReadConfigArray:2 " + configTestObject.ReadConfigArray?[2]);

IOptionsMonitor 读取

  1. Program.cs 读取要读取的节点
  2. 然后在使用的地方构造函数注入IOptionsMonitor 进来使用
  3. configTestObject.CurrentValue 取出对象

Program.cs

builder.Services.Configure<ConfigTestObject>(builder.Configuration.GetSection("TestObject"));

构造注入


ConfigTestObject _configTestObject1;
public TestIConfigurationController(IOptionsMonitor<ConfigTestObject> configTestObject) 
{
    _configTestObject1 = configTestObject.CurrentValue;
}

使用

Console.WriteLine("TestIOptionsMonitor...");
Console.WriteLine("name: " + _configTestObject1.Name);
Console.WriteLine("Teacher:Name " + _configTestObject1.Teacher?.Name);
Console.WriteLine("Teacher:Age " + _configTestObject1.Teacher?.Age);
Console.WriteLine("ReadConfigArray:0 " + _configTestObject1.ReadConfigArray?[0]);
Console.WriteLine("ReadConfigArray:1 " + _configTestObject1.ReadConfigArray?[1]);
Console.WriteLine("ReadConfigArray:2 " + _configTestObject1.ReadConfigArray?[2]);

IOptions 读取

  1. Program.cs 读取要读取的节点
  2. 然后在使用的地方构造函数注入IOptionsMonitor 进来使用
  3. configTestObject.CurrentValue 取出对象

Program.cs

builder.Services.Configure<ConfigTestObject>(builder.Configuration.GetSection("TestObject"));

构造注入


ConfigTestObject _configTestObject1;
public TestIConfigurationController(IOptions<ConfigTestObject> configTestObject) 
{
    _configTestObject1 = configTestObject.Value;
}

使用

Console.WriteLine("TestIOptionsMonitor...");
Console.WriteLine("name: " + _configTestObject1.Name);
Console.WriteLine("Teacher:Name " + _configTestObject1.Teacher?.Name);
Console.WriteLine("Teacher:Age " + _configTestObject1.Teacher?.Age);
Console.WriteLine("ReadConfigArray:0 " + _configTestObject1.ReadConfigArray?[0]);
Console.WriteLine("ReadConfigArray:1 " + _configTestObject1.ReadConfigArray?[1]);
Console.WriteLine("ReadConfigArray:2 " + _configTestObject1.ReadConfigArray?[2]);

文章来源地址https://www.toymoban.com/news/detail-583392.html

到了这里,关于.Net Core 读取配置文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • .net core .net6 读取数据库 读取配置文件 保姆级教程

    .net core .net6 读取数据库 读取配置文件 保姆级教程

    本文环境 Microsoft Visual Studio 2022 .Net6 SQLServer2019 在解决方案管理器右键添加相关的包,如下两个包 Microsoft.Data.SqlClient SQLServer SQLServer数据库 Microsoft.Extensions.Configuration.Json json配置文件 添加配置文件 appsettings.json,选始终复制 添加json配置文件内容如下 DefaultConnection 根据自己的

    2024年02月08日
    浏览(12)
  • .NET配置文件大揭秘:轻松读取JSON、XML、INI和环境变量

    .NET配置文件大揭秘:轻松读取JSON、XML、INI和环境变量

      概述: .NET中的IConfiguration接口提供了一种多源读取配置信息的灵活机制,包括JSON、XML、INI文件和环境变量。通过示例,清晰演示了从这些不同源中读取配置的方法,使配置获取变得方便且易于扩展。这种方式适用于不同场景,如API密钥、数据库连接等,为应用提供了高度

    2024年02月20日
    浏览(11)
  • .net core中如何自定义静态文件目录、默认主页、和文件浏览目录?

    .net core中如何自定义静态文件目录、默认主页、和文件浏览目录?

    在.NET Core中,UseStaticFiles、UseDefaultFiles、UseDirectoryBrowser和UseFileServer中间件用于处理静态文件和目录浏览。下面我将为你提供一个简单的例子,演示它们的用法。 首先,确保你的项目已经安装了 Microsoft.AspNetCore.StaticFiles  NuGet包,因为这是这些中间件的依赖。 然后,打开  S

    2024年02月04日
    浏览(11)
  • 在Linux平台下使用.NET Core访问Access数据库读取mdb文件数据

    今天有群友在群里问 C# 能不能在 Linux 下访问 Access数据库 ? 我觉得这很有趣,因此研究折腾了一下,也因为很久没有写博文了,所以特意上来写博文分享经验。 操作系统: Ubuntu 22.04.3 LTS (Jammy) 开发工具: Visual Studio 2022 (17.8.0) 运行时版本: .NET Runtime 8.0 依赖库: unixodbc 、

    2024年02月05日
    浏览(13)
  • NetCore读取JSON配置文件

    一、添加NuGet 包: 1. Microsoft.Extensions.Configuration.Binder :将对象与 Microsoft.Extensions.Configuration 的配置提供程序中的数据绑定的功能。 2. Microsoft.Extensions.Configuration.Json :Microsoft.Extensions.Configuration 的 JSON 配置提供程序实现。 3. Microsoft.Extensions.Configuration.EnvironmentVariables :Microso

    2024年02月05日
    浏览(11)
  • 头歌:Python开发技术—文件和异常3( 答案+详细注释)第1关:读取文件内容+第2关:素数写入文件+第3关:输出文件目录+第4关:读写json文件

    头歌:Python开发技术—文件和异常3( 答案+详细注释)第1关:读取文件内容+第2关:素数写入文件+第3关:输出文件目录+第4关:读写json文件

    自己敲一遍这个代码,注释我写的超级详细,一定可以明白! 内容原创,请勿转载  知识点学习参考: 1.基本读写常用指令: 一文搞懂Python文件读写 - 知乎 (zhihu.com) 2.文件遍历知识总结:  (205条消息) python遍历文件夹下的所有文件_python遍历d盘下面所有文件(排除掉文件夹)

    2024年02月05日
    浏览(95)
  • android studio 添加并读取json配置文件

    android studio 添加并读取json配置文件

    第一步:在android  studio中添加json文件;   第二步:读取文件的函数

    2024年02月16日
    浏览(13)
  • asp.net core在发布时排除配置文件

    使用命令发布 dotnet restore dotnet publish -c Release -r win-x64 -o \\\"D:services\\\"  这样发布总是是将配置文件覆盖  这时候打开项目.csproj新增配置文件

    2024年04月24日
    浏览(8)
  • go读取yaml,json,ini等配置文件

    实际项目中,要读取一些json等配置文件。今天就来说一说,Golang 是如何读取YAML,JSON,INI等配置文件的。 JSON 应该比较熟悉,它是一种轻量级的数据交换格式。层次结构简洁清晰 ,易于阅读和编写,同时也易于机器解析和生成。 1.创建 conf.json: 2.新建config_json.go: 启动运行后

    2024年02月10日
    浏览(17)
  • .net core读取Response.Body

    读取请求体流的demo 报错,一般是在Request.Body处报NotSupportedException 在自定义中间件中调用 EnableBuffering() (移除以上正确方案代码) 为什么在 ActionFilterTestA 中调用 context.HttpContext.Request.EnableBuffering(); 没有效果?(没有报错,但是内容为空字符串) 猜测 请求体流在ActionFilter之

    2024年02月08日
    浏览(10)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包