.NET Core 7中无法使用Get方法映射TokenOptions配置类的替代方案
.NET Core 7 配置映射到TokenOptions的替代方案
方法1:使用Bind方法
手动创建TokenOptions实例,再通过Bind方法完成配置绑定:
var _tokenOptions = new TokenOptions(); Configuration.GetSection("TokenOptions").Bind(_tokenOptions);
方法2:通过依赖注入绑定
在Program.cs(或Startup.cs)的服务配置阶段完成绑定,后续通过依赖注入获取实例:
// 配置服务时绑定 builder.Services.Configure<TokenOptions>(Configuration.GetSection("TokenOptions"));
在需要使用TokenOptions的类中,通过构造函数注入IOptions<TokenOptions>来获取配置:
private readonly TokenOptions _tokenOptions; public YourService(IOptions<TokenOptions> tokenOptions) { _tokenOptions = tokenOptions.Value; }
方法3:修复Get方法的可用性
如果Get<T>方法无法使用,大概率是缺少对应的命名空间或NuGet包:
- 确保项目已安装
Microsoft.Extensions.Configuration.BinderNuGet包 - 在代码文件顶部添加命名空间:
using Microsoft.Extensions.Configuration;
添加后即可正常使用原有的Get<TokenOptions>()方法。
内容的提问来源于stack exchange,提问作者Ayşenur Altun
相关产品推荐
相关产品推荐

