.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 读取数据库 读取配置文件 保姆级教程

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

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

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

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

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

    2024年02月04日
    浏览(28)
  • 在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日
    浏览(31)
  • 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日
    浏览(25)
  • 头歌:Python开发技术—文件和异常3( 答案+详细注释)第1关:读取文件内容+第2关:素数写入文件+第3关:输出文件目录+第4关:读写json文件

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

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

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

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

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

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

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

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

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

    2024年02月08日
    浏览(32)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包