gpt4 book ai didi

asp.net-core - 名称由单个下划线分隔的 ASP.NET Core 选项模式

转载 作者:行者123 更新时间:2023-12-01 21:55:27 25 4
gpt4 key购买 nike

我正在尝试使用 ASP.NET Core 选项模式加载我的应用程序设置。

appsettings.json 包含:

{
"TEst": "hello",
"TEST_ABC": "2"
}

POCO 类:

public class AppSetting
{
public string Test { get; set; }

public string TestAbc { get; set; }
}

绑定(bind)到配置:

services.Configure<AppSetting>(Configuration);

在 Controller 中访问 AppSetting 实例时,我只能获取配置 Test 作为 helloTestAbc 设置为 null

Options 模式似乎无法转换这种命名配置,是否可以通过其他方式实现?

最佳答案

让它自动完成的唯一方法是用下划线命名您的属性 (Test_Abc)。除此之外,您可以手动指定映射:

services.Configure<AppSettings>(o => 
{
o.TestAbc = Configuration["TEST_ABC"];
// etc.
});

@DavidG 关于使用 [JsonProperty] 的评论可能有效。我从来没有在配置的上下文中尝试过。但是,只有在使用 JSON 配置提供程序时,它才会起作用(如果它能起作用的话)。例如,如果您稍后需要通过环境变量来满足此要求,那么您就不走运了。因此,我会坚持使用比这更普遍适用的解决方案。

关于asp.net-core - 名称由单个下划线分隔的 ASP.NET Core 选项模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57773515/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com