首页 > 其他分享 >.NET Core读取配置文件 配置文件可以是JSON、XML或INI等格式,需要添加 Microsoft.Extensions.Configuration 扩展包

.NET Core读取配置文件 配置文件可以是JSON、XML或INI等格式,需要添加 Microsoft.Extensions.Configuration 扩展包

时间:2023-08-17 09:22:05浏览次数:48  
标签:XML Core 读取 配置文件 配置 添加 Extensions Configuration

.NET Core读取配置文件 配置文件可以是JSON、XML或INI等格式 需要添加 Microsoft.Extensions.Configuration 扩展包
原文链接:https://pythonjishu.com/qipsfiygesyrqfi/

下面是“.NET Core读取配置文件”的完整攻略:

1. 创建配置文件

首先,我们需要在项目中创建一个配置文件,以便存放我们需要读取的配置信息。配置文件可以是JSON、XML或INI等格式。这里我们以JSON格式作为示例,创建一个名为appsettings.json的文件,并在文件中添加配置信息。如下所示,我们添加了一个名为”ConnectionStrings”的配置节,并在其下添加了一个名为”MySqlConnection”的连接字符串。

{
    "ConnectionStrings": {
        "MySqlConnection": "Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;"
    },
    "AppSettings": {
        "PageSize": 20,
        "DefaultLanguage": "en"
    }
}

2.添加依赖

接下来,我们需要添加依赖以便在程序中读取配置文件。我们可以通过NuGet包管理器添加Microsoft.Extensions.Configuration包,该包包含了读取和解析配置文件的相关类。

Install-Package Microsoft.Extensions.Configuration

3. 读取配置信息

有了配置文件和依赖之后,我们就可以在程序中读取和使用配置信息了。读取配置信息的流程大致分为以下几个步骤。

Python技术站热门推荐:PDF电子发票识别软件,一键识别电子发票并导入到Excel中!10大顶级数据挖掘软件!人工智能的十大作用!

3.1 创建配置对象

首先,我们需要创建一个Configuration对象,用于读取和解析配置文件。我们可以通过ConfigurationBuilder类创建该对象。代码如下:

using Microsoft.Extensions.Configuration;
using System.IO;

public class AppConfigurations
{
public readonly IConfiguration Configuration;

public AppConfigurations()
{
    var builder = new ConfigurationBuilder()
        .SetBasePath(Directory.GetCurrentDirectory())
        .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);

    Configuration = builder.Build();
}

}

在上面的代码中,我们首先创建了一个ConfigurationBuilder对象,然后设置了配置文件的路径和文件名,并建立了与该配置文件关联的Configuration对象。

3.2 读取字符串类型配置信息

读取字符串类型的配置信息非常简单,我们可以通过Configuration对象的索引器来读取指定的配置信息。如下所示,我们读取了配置文件中”MySqlConnection”配置项的值:

var config = new AppConfigurations().Configuration;
string connStr = config["ConnectionStrings:MySqlConnection"]; //Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;

3.3 读取数字类型配置信息

读取数字类型的配置信息稍有不同,我们需要通过Configuration对象的扩展方法GetValue来读取。如下所示,我们读取了配置文件中”PageSize”配置项的整数值:

var config = new AppConfigurations().Configuration;
int pageSize = config.GetValue<int>("AppSettings:PageSize"); //20

3.4 读取布尔类型配置信息

读取布尔类型的配置信息也类似,我们需要通过Configuration对象的扩展方法GetValue来读取。如下所示,我们读取了配置文件中”IsEnabled”配置项的布尔值:

var config = new AppConfigurations().Configuration;
bool isEnabled = config.GetValue<bool>("AppSettings:IsEnabled"); //true

以上就是“.NET Core读取配置文件”的完整攻略,希望对你有所帮助。

阅读剩余 76%

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

标签:XML,Core,读取,配置文件,配置,添加,Extensions,Configuration
From: https://www.cnblogs.com/sunny3158/p/17636716.html

相关文章

  • 【Java 高阶】Maven setting.xml 详解
    ......
  • 【Java 高阶】Maven setting.xml 详解
    ......
  • EFCore使用中间件进行登录认证
    如何实现中间件(Middleware)用户登录验证中间件(Middleware)是ASP.NETCore中的一个重要特性。所谓中间件就是嵌入到应用管道中用于处理请求和响应的一段代码。它又被称为管道模型。中间件的执行顺序是:内置中间件优先-其次自定义中间件1.首先我们需要创建WebApi这是小编的API,然后......
  • 在core项目下通过Dapper对mysql执行批量操作 报at MySql.Data.MySqlClient.MySqlComma
     在core项目下通过Dapper对mysql执行批量操作一直报异常  报PushService=>UpdateKeyWordProductCountTask=>错误信息:Fatalerrorencounteredduringcommandexecution.;;;堆栈信息:atMySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehaviorbehavior)at......
  • vnc Unable to licence server: "XML error 0:0 Error: First Tag not found"问题的解
    windows上安装了vncserver,本来每天访问很正常,忽然一天无法访问了。没办法只能卸载重装。但是发现重装以后,不会自动弹出对话框提示输入注册码。手工触发“EnterVNCServerlicensecode”,提示"XMLerror0:0Error:FirstTagnotfound"。调查后,发现是因为windowseventlog这......
  • 漏洞复现-深信服DC数据中心管理系统 XML注入漏洞
    0x01产品简介深信服是数据中心管理系统是DC为AC饿外置数据中心,主要用于海量日志数据的异地扩展备份管理,多条件的组合的高效查询,统计和趋势报表生成,设备运行状态监控等功能。0x02漏洞概述深信服是数据中心管理系统DC存在xml外部实体注入漏洞。由于后端对传入的xml对象进......
  • 判断文件是否是XML格式以及判断字符串是否是XML格式
    首先截取文件后缀名。后缀是XML文件再进入此判断,避免不必要的资源占用。/***判断一个文件是否是XML文件**@paramfile*@return*/privatestaticbooleanisXmlDocument(Filefile){booleanflag;try{DocumentBuilderFactoryfactory=Docume......
  • .NET Core6.0配置JWT
    环境 ASP.NETCoreWebAPIJWT的一些讲解和与Session的区别俺就不多说了可以去官方文档了解一下直接上代码简单粗暴(以下操作都是在ASP.NETCoreWebAPI进行操作)第一步:引入一个NuGet包  根据自己.NET版本选择对应的版本号 第二步:在appsettings.json配置一些信息"A......
  • .Net Core DateTime.Now 在Linux下的格式问题
    .Net6使用DateTime获取系统当前时间,在Windows下输出为正常时间,但是在Linux下会获取到2023-8-16上午10:00:00类似的时间样式,会导致在Linux下抛出非法时间异常。解决方案:在Main函数中使用CultureInfo.DefaultThreadCurrentCulture属性来获取或设置当前应用程序域中线程的默认......
  • tricore 汇总
    1:指定输入段#ifdefined(__HIGHTEC__)#pragmasection#pragmasection".start"x    /*hightec编译器下声明函数fun()放入名为.start的指定输入段中,除了.start外全是关键字,.start可以随意命名*/#endif#ifdefined(__TASKING__)#pragmaprotecton#pragmasect......