欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

.Net Core 配置文件的使用

程序员文章站 2023-12-28 15:29:58
...

.Net Core的配置文件相对于.NET Framework改变了很多,以前使用的是web.config在.net core后使用的是json文件名称为appsettings.json。

加载配置文件

var builder = new ConfigurationBuilder();//创建config的builder
builder.SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json");//设置配置文件所在的路径加载配置文件信息
var config = builder.Build();

我们通过ConfigurationBuilder对象来创建ConfigurationRoot对象,并用其来读取配置。SetBasePath()方法是用来设置我们配置对象需要的配置文件的基础路径,比如我们将基础路径设置为C:\ConsoleApp,那么他读取我们的配置文件appsettings.json的路径将是C:\ConsoleApp\appsettings.json

读取配置文件

{
  "ConnectionString": {
    "SqlServer": "Server:localhost",
  } 
}

读取默认的数据库连接配置可以使用

var sqlServer = config.GetConnectionString("SqlServer");读取节点下的所有配置

如果配置文件如下格式

{
  "ConnectionString": {
    "SqlServer": "Server:localhost",
  } 
 "person":"lilei"
}

可以使用如config["person"]

如果配置文件有下面子目录如

{
  "ConnectionString": {
    "SqlServer": "Server:localhost",
  } 
 "person":{
    "name":"lilei",
    "age":25
  }
}

可以使用如config["person.name"]

如果配置文件下面子目录有多个如

{
  "ConnectionString": {
    "SqlServer": "Server:localhost",
  } 
 "person":{
    "name":"lilei",
    "age":25
  },
  {
    "name":"jim",
    "age":25
  }
}

可以使用如config["person:0 name"]

 

配置重载方法

配置文件可能会被更改,那么我们如何获取最新的配置?我们在添加文件的时候可以将一个名为reloadOnChange的参数设置为true,那么当我们的文件发生更改时,就会重新载入配置到内存中来,然后我们获取到的配置就行最新的。我们读取配置的时候并不是每次读取都是从文件里面读取,而是配置文件的所有配置信息都会被加载到内存中来,我们每次从内存读取就行了。

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

 

相关标签: .net core

上一篇:

下一篇: