下面是“.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技术站
- 文件 Configuration Extensions Microsoft 格式文件configuration extensions microsoft configuration substitution extensions gsoft dependencyinjection extensions microsoft castle dependenyinjection extensions microsoft castle windows windowsservices extensions microsoft extensions microsoft wpf extensions microsoft框架logging extensions microsoft logging core 第三方extensions microsoft logging onedrive文件mousocoreworker microsoft