.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. 读取配置信息
有了配置文件和依赖之后,我们就可以在程序中读取和使用配置信息了。读取配置信息的流程大致分为以下几个步骤。
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
var config = new AppConfigurations().Configuration;
int pageSize = config.GetValue<int>("AppSettings:PageSize"); //20
3.4 读取布尔类型配置信息
读取布尔类型的配置信息也类似,我们需要通过Configuration对象的扩展方法GetValue
var config = new AppConfigurations().Configuration;
bool isEnabled = config.GetValue<bool>("AppSettings:IsEnabled"); //true
以上就是“.NET Core读取配置文件”的完整攻略,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:.NET Core读取配置文件 - Python技术站