.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);