.NET Core控制台应用ConsoleApp读取appsettings.json配置文件

.NET Core控制台应用ConsoleApp读取appsettings.json配置文件

在.NET Core控制台应用程序中,读取appsettings.json配置文件是一项非常重要的任务,它可以帮助您管理应用程序的配置信息。在本攻略中,我们将详细讲解如何读取appsettings.json配置文件,并提供两个示例说明。

步骤一:添加Microsoft.Extensions.Configuration NuGet包

要读取appsettings.json配置文件,您需要在应用程序中添加以下NuGet包:

  • Microsoft.Extensions.Configuration
  • Microsoft.Extensions.Configuration.Json

您可以使用Visual Studio的NuGet包管理器或通过命令行运行以下命令来安装NuGet包:

Install-Package Microsoft.Extensions.Configuration
Install-Package Microsoft.Extensions.Configuration.Json

步骤二:创建appsettings.json文件

在应用程序的根目录中,您需要创建一个名为appsettings.json的文件,并添加以下配置:

{
  "MyConfig": {
    "ConnectionString": "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;"
  }
}

在上面的配置中,我们指定了一个名为MyConfig的配置节,并在其中指定了一个名为ConnectionString的配置项。

步骤三:读取配置文件

在应用程序中,您需要创建一个名为AppSettings的类,并在其中添加以下代码:

public class AppSettings
{
    public string ConnectionString { get; set; }
}

在应用程序中,您还需要创建一个名为Program的类,并在其中添加以下代码:

class Program
{
    static void Main(string[] args)
    {
        var builder = new ConfigurationBuilder()
            .SetBasePath(Directory.GetCurrentDirectory())
            .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);

        IConfigurationRoot configuration = builder.Build();

        var appSettings = new AppSettings();
        configuration.GetSection("MyConfig").Bind(appSettings);

        Console.WriteLine($"ConnectionString: {appSettings.ConnectionString}");
    }
}

在上面的代码中,我们使用ConfigurationBuilder类读取appsettings.json配置文件,并使用GetSection方法获取MyConfig配置节的值。我们还使用Bind方法将配置值绑定到AppSettings类的实例中,并在控制台中输出ConnectionString的值。

示例一:读取字符串配置项

以下是读取字符串配置项的示例代码:

class Program
{
    static void Main(string[] args)
    {
        var builder = new ConfigurationBuilder()
            .SetBasePath(Directory.GetCurrentDirectory())
            .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);

        IConfigurationRoot configuration = builder.Build();

        var connectionString = configuration.GetSection("MyConfig:ConnectionString").Value;

        Console.WriteLine($"ConnectionString: {connectionString}");
    }
}

在上面的代码中,我们使用GetSection方法获取MyConfig配置节的ConnectionString配置项的值,并在控制台中输出该值。

示例二:读取数组配置项

以下是读取数组配置项的示例代码:

{
  "MyConfig": {
    "Numbers": [1, 2, 3, 4, 5]
  }
}
class Program
{
    static void Main(string[] args)
    {
        var builder = new ConfigurationBuilder()
            .SetBasePath(Directory.GetCurrentDirectory())
            .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);

        IConfigurationRoot configuration = builder.Build();

        var numbers = configuration.GetSection("MyConfig:Numbers").Get<int[]>();

        foreach (var number in numbers)
        {
            Console.WriteLine(number);
        }
    }
}

在上面的代码中,我们使用GetSection方法获取MyConfig配置节的Numbers配置项的值,并使用Get方法将其转换为int数组。我们还使用foreach循环输出数组中的每个元素。

结论

在本攻略中,我们详细讲解了如何读取appsettings.json配置文件,并提供了两个示例说明。通过遵循这些步骤,您应该能够成功读取appsettings.json配置文件,并管理应用程序的配置信息。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:.NET Core控制台应用ConsoleApp读取appsettings.json配置文件 - Python技术站

(0)
上一篇 2023年5月17日
下一篇 2023年5月17日

相关文章

  • C#简单实现子窗体向父窗体传值的方法

    C# 简单实现子窗体向父窗体传值有多种方法,下面介绍两种常用的方法。 方法一:使用属性 在子窗体中定义一个属性,用于存储需要传递的值。 public partial class ChildForm : Form { private string _value; public string Value { get { return _value; } set …

    C# 2023年6月6日
    00
  • C#中事件的定义和使用

    C#中的事件是一种特殊的委托类型,它可以使对象在某个特定的时间点上引发或触发某个动作或事件。事件可以用于编写响应用户交互、处理消息通知等许多用途。 一、事件的定义 事件定义的基本语法格式如下: public delegate void SomeEventHandler(object sender, EventArgs e); public class Som…

    C# 2023年5月31日
    00
  • CommunityToolkit.Mvvm8.1 IOC依赖注入控制反转(5)

      本系列文章导航 https://www.cnblogs.com/aierong/p/17300066.html https://github.com/aierong/WpfDemo (自我Demo地址) 希望提到的知识对您有所提示,同时欢迎交流和指正 作者:aierong出处:https://www.cnblogs.com/aierong     说明 …

    C# 2023年4月17日
    00
  • c# Newtonsoft.Json 常用方法总结

    c# Newtonsoft.Json 常用方法总结 简介 Newtonsoft.Json 是一个高性能的 JSON 框架,为 JSON 互转提供了一系列便捷易用的 API,是 .NET 应用开发不可缺少的一部分。本文将介绍 Newtonsoft.Json 常用方法的总结,并且通过具体的示例进行说明,帮助读者更好的理解和应用。 安装 Newtonsoft.Js…

    C# 2023年5月31日
    00
  • AspectCore和MSDI 实现Name注册以及解析对象

    AspectCore 在注册服务这块比较简单,默认是无法根据Name去注册和解析对象,这边做一下这块的扩展 大致原理是根据自定义Name去生成对应的动态类型,然后使用委托或者对象的方式,进行注册 tips:由于底层原理的原因,无法支持Type的方式进行注册   定义好动态类型的接口,以及相关实现 1 public interface INamedServic…

    C# 2023年4月24日
    00
  • C#微信公众号开发之消息处理

    C#微信公众号开发之消息处理 前言 微信公众号开发可以帮助企业快速搭建自己的微信公众号平台,实现与客户互动、信息推送等功能。本文将主要讲解微信公众号开发中的消息处理流程及相关的代码实现方法,帮助大家快速上手微信公众号开发。 准备工作 在开始微信公众号开发之前,我们需要准备一些必要的工具和资源,具体包括: 微信公众号AppID和AppSecret,可在微信公众…

    C# 2023年6月6日
    00
  • .NET Core读取配置文件的方法

    .NET Core读取配置文件的方法 在.NET Core应用程序中,读取配置文件是一项非常重要的任务。配置文件可以包含应用程序的各种设置,如数据库连接字符串、日志级别、缓存设置等。在本攻略中,我们将介绍.NET Core读取配置文件的方法,并提供两个示例说明。 1. 配置文件的格式 在.NET Core应用程序中,配置文件的格式可以是JSON、XML、IN…

    C# 2023年5月16日
    00
  • Question:基于C#连续赋值的面试题介绍

    基于C#连续赋值的面试题介绍 题目描述 一个 C# 程序员在面试时被要求解答以下问题: int a = 1, b = 2, c = 3; a += b += c; 最终 a、b 和 c 的值分别是多少? 解答 这个问题的关键在于理解赋值运算符的优先级。根据 C# 的运算符优先级表,赋值运算符 += 的优先级低于算术运算符 +,因为 + 的优先级大于 = 而且…

    C# 2023年6月7日
    00
合作推广
合作推广
分享本页
返回顶部