您现在的位置是:首页 >其他 >ASP.NET配置文件多种方式读取网站首页其他
ASP.NET配置文件多种方式读取
简介ASP.NET配置文件多种方式读取
ASP.NET Core项⽬默认的配置⽂件是appsettings.json,创建项⽬时就会⾃动⽣成这个⽂ 件,我们可以将⼀些配置信息存放在这个配置⽂件中,这样做的好处是当我们修改配置⽂件 时,不在需要重启应⽤,可以实现热更新。
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*",
"msg": "hello world"
}
IConfiguration
个路由终结点来演⽰如何读取这个配置
app.MapGet("config", (IConfiguration configuration) =>
{
return configuration["msg"] + "_" +
configuration["Logging:LogLevel:Default"];
});
通过IOC注⼊IConfiguration对象,我们就可以访问不同节点的配置了,如果是单层节点, 通过configuration[“msg”]的⽅式进⾏访问,如果是多层级,则通过 configuration[“Logging:LogLevel:Default”]来访问
通过GetValue方法获取
app.MapGet("config", (IConfiguration configuration) =>
{
return configuration.GetValue<string>("msg");
});
GetValue⽆法读取对象,会报异常
通过GetSection方法获取
app.MapGet("config", (IConfiguration configuration) =>
{
return configuration.GetSection("msg").Value;
});
读取对象
app.MapGet("config", (IConfiguration configuration) =>
{
return configuration.GetSection("Person").Get<Person>();
});
使用委托来配置选项
先定义⼀个实体:
public class Person
{
public string Name { get;set; }
public int Age { get;set; }
}
配置如下:
"Person": {
"Name": "张三",
"Age": 18
}
注册配置:
builder.Services.Configure<Person>
(builder.Configuration.GetSection("Person"));
使⽤配置:
app.MapGet("config", (IOptions<Person> options) =>
{
return $"{options.Value.Name},{options.Value.Age}";
});
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。





QT多线程的5种用法,通过使用线程解决UI主界面的耗时操作代码,防止界面卡死。...
U8W/U8W-Mini使用与常见问题解决
stm32使用HAL库配置串口中断收发数据(保姆级教程)
分享几个国内免费的ChatGPT镜像网址(亲测有效)
Allegro16.6差分等长设置及走线总结