跟着官网学ASP.NET Core 6.0之读取配置文件
原文链接:https://baijiahao.baidu.com/s?id=1723999429833340445&wfr=spider&for=pc
用WebApplicationBuilder里面的Configuration属性来读取,如:builder.Configuration["AppConfig:Wechat:AppSecret"]
在非Program.cs里面读取配置,则需要注入IConfiguration实例
直接把配置内容装载到实体类中
如果配置类过多,那么在Program.cs便会显得杂乱臃肿,所以,我们可以将其移动到扩展方法以注册服务,这里新建一个扩展类ConfigServiceCollectionExtensions,将前面的代码移动到该类中,然后在Program.cs中添加引用即可
在ASP.NET Core 6.0
中,默认配置文件是appsettings.json
,该文件存储的内容为JSON格式的字符串,我们一般都将程序的配置放在这个文件里面,提供给程序使用,那么我们该如何操作呢?
ASP.NET Core默认加载顺序是appsettings.json
->appsettings.Environment.json
,它会根据当前的运行环境去加载不同的配置文件,最后appsettings.Environment.json 值将替代 appsettings.json 中的值,如果没有多个值,则取默认值。
在开始之前,我们先在appsettings.json
中新增一些配置信息


简单读取配置
现在我们就尝试读取配置文件中AppId
和AppSecret
的值,在Program.cs
中,我们直接可以用WebApplicationBuilder
里面的Configuration
属性来读取,取配置内容的方式有很多,比如:


还可以这样

当然,它还可以更深的层级,如:builder.Configuration["AppConfig:Wechat:AppSecret"]

如果我们想在非Program.cs
里面读取配置,则需要注入IConfiguration
实例,其他操作方式便和前面的一致,我们还在来实践一次,这里我先新建一个Controller

我们直接访问api/Configuration
,便能返回配置文件中的AppId
信息,
配置绑定到实体
如果配置文件比较复杂,我们依然用前面的方式一个个的去取值,那确实有些繁琐,所以,我们需要更高端的操作,直接把配置内容装载到实体类中,这我新建一个名为WechatConfiguration
的类,里面加入与配置文件对应的属性

这里,我们需要使用的IConfiguration
的GetSection
方法来获取指定节点的内容,然后使用Get<T>
将内容序列化为对象,看例子

除了使用Get<T>
取值,还可使用Bind
方法,将值绑定到对象上


这两种方式都能获取到配置文件修改后的内容,除了上面两种方式获取配置内容外,还可以使用直接将配置对象注入到容器中,

然后在需要使用的类中注入IOptions<T>
,通过其Value
属性来获取配置类对象


如果配置类过多,那么在Program.cs
便会显得杂乱臃肿,所以,我们可以将其移动到扩展方法以注册服务,这里新建一个扩展类ConfigServiceCollectionExtensions
,将前面的代码移动到该类中

然后在Program.cs
中添加引用即可

配置文件读取就先了解这么,明天就要开始上班了,又要忙起来了,后面有时间再继续学习ASP.NET Core 中的路由。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)