gpt4 book ai didi

asp.net-core - 替换 appSettings.json 中的 .Net Core 变量以引用其他配置值

转载 作者:行者123 更新时间:2023-12-04 18:27:06 29 4
gpt4 key购买 nike

想象以下 appSettings.json文件:

{
"GlobalSettings": {
"BaseUrl": "http://example.com:5000"
},
"NavigationSettings": {
"LoginUrl": "{GlobalSettings:BaseUrl}/Login"
}
}

我想做的是自动替换 GlobalSettings:BaseUrl 的值在 NavigationSettings:LoginUrl的值内.我知道可以用 appSettings.{env}.json覆盖特定的键,但这会覆盖整个值,而不仅仅是它的一部分。

我可以通过使用类似下面的扩展方法来解决这个问题,但这需要程序员记住在他们可能想要替换配置值的任何地方调用扩展方法。

ReplaceConfigValues(this string input, IConfiguration config) { /*...*/ }

任何人都可以建议我可以使用的任何替代方法,或者我可能缺少一些新的 .Net Core 功能吗?

即使在配置值中引用环境变量之类的东西也会很有用,但我也不知道有什么方法可以做到这一点。例如。

"LoginUrl": "${ENV_GLOBAL_BASE_URL}/Login"

最佳答案

Tseng 的评论是真实的,还没有内置任何内容。
我为此创建了一个库,它完全符合您的期望。见:https://github.com/molinch/ConfigurationSubstitutor
您只需要将其注册为另一个配置源。
例如,如果您在配置中定义了这三个条目:

  • Foo = {Bar1}{Bar2}{Bar1}
  • Bar1 = 咖啡师
  • Bar2 = -Jean-

  • 从配置中请求 Foo 时,您将获得: Barista-Jean-Barista

    关于asp.net-core - 替换 appSettings.json 中的 .Net Core 变量以引用其他配置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45173482/

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