muh*_*san 6 c# azure azure-web-app-service asp.net-core
在我的 .NET Core 应用程序中,我向 appsettings.json 添加了一个数组,如下所示:
{
"SettingsA": {
"PropA": [
"ChildObjectA": {
...
},
"ChildObjectB": {
...
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
如果我想从我的 azure 应用程序服务中的应用程序设置中覆盖该值,以便它具有空数组:
{
"SettingsA": {
"PropA": []
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?
我试着把
SettingsA:PropsA -> []
Run Code Online (Sandbox Code Playgroud)
在应用程序设置中,但它似乎没有覆盖 appsettings.json 的值
这里的答案https://www.ryansouthgate.com/2016/03/23/iconfiguration-in-netcore/是您可以覆盖数组中的元素或添加其他元素,但他说您不能覆盖整个数组,这看起来很奇怪。
覆盖语法使用从零开始的访问,例如 SettingsA:PropA:0:Something,我已经在 App Services 上尝试过,可以确认它有效。
为了补充这里已经给出的所有优秀答案,以下是我们在现实生活场景中的做法。
我们需要在我们的应用程序设置中配置一组受支持的语言。下面是它在我们的 .NET Core 项目中的 appSettings.json 中的样子:
{
...
"SupportedLanguages": [
{
"Code": "en-AU",
"Name": "English (Australia)"
},
{
"Code": "en-GB",
"Name": "English (United Kingdom)"
},
{
"Code": "en-US",
"Name": "English (United States)"
}
]
}
Run Code Online (Sandbox Code Playgroud)
这就是它最终在我们的 Azure 应用服务中的样子:
这有点繁琐,特别是如果您有更大或更复杂的层次结构,但我认为目前没有其他方法。
归档时间: |
|
查看次数: |
4487 次 |
最近记录: |