前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >ASP.NET配置文件多种方式读取

ASP.NET配置文件多种方式读取

作者头像
MaybeHC
发布2025-02-14 08:37:55
发布2025-02-14 08:37:55
5500
代码可运行
举报
文章被收录于专栏:技术之路技术之路
运行总次数:0
代码可运行

ASP.NET Core项⽬默认的配置⽂件是appsettings.json,创建项⽬时就会⾃动⽣成这个⽂ 件,我们可以将⼀些配置信息存放在这个配置⽂件中,这样做的好处是当我们修改配置⽂件 时,不在需要重启应⽤,可以实现热更新。

代码语言:javascript
代码运行次数:0
复制
{
 "Logging": {
 "LogLevel": {
 "Default": "Information",
 "Microsoft.AspNetCore": "Warning"
 }
 },
 "AllowedHosts": "*",
 "msg": "hello world"
}

IConfiguration

个路由终结点来演⽰如何读取这个配置

代码语言:javascript
代码运行次数:0
复制
app.MapGet("config", (IConfiguration configuration) =>
{
 return configuration["msg"] + "_" +
     configuration["Logging:LogLevel:Default"];
});

通过IOC注⼊IConfiguration对象,我们就可以访问不同节点的配置了,如果是单层节点, 通过configuration[“msg”]的⽅式进⾏访问,如果是多层级,则通过 configuration[“Logging:LogLevel:Default”]来访问

通过GetValue方法获取

代码语言:javascript
代码运行次数:0
复制
app.MapGet("config", (IConfiguration configuration) =>
{
 	return configuration.GetValue<string>("msg");
});

GetValue⽆法读取对象,会报异常

通过GetSection方法获取

代码语言:javascript
代码运行次数:0
复制
app.MapGet("config", (IConfiguration configuration) =>
{
 	return configuration.GetSection("msg").Value;
});

读取对象

代码语言:javascript
代码运行次数:0
复制
app.MapGet("config", (IConfiguration configuration) =>
{
	 return configuration.GetSection("Person").Get<Person>();
});

使用委托来配置选项

先定义⼀个实体:

代码语言:javascript
代码运行次数:0
复制
public class Person
{
     public string Name { get;set; }
     public int Age { get;set; }
}

配置如下:

代码语言:javascript
代码运行次数:0
复制
"Person": {
 "Name": "张三",
 "Age": 18
}

注册配置:

代码语言:javascript
代码运行次数:0
复制
builder.Services.Configure<Person>
(builder.Configuration.GetSection("Person"));

使⽤配置:

代码语言:javascript
代码运行次数:0
复制
app.MapGet("config", (IOptions<Person> options) =>
{
 	return $"{options.Value.Name},{options.Value.Age}";
});
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-02-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • IConfiguration
  • 通过GetValue方法获取
  • 通过GetSection方法获取
  • 使用委托来配置选项
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档