如何在aspnet vnext配置的环境变量中表示json数组

Pau*_*ney 4 json environment-variables asp.net-core

我的appsettings.jsonaspnet vnext应用程序的文件中包含以下部分。

"Settings": {
    "IgnoredServices" : ["ignore1", "ignore2"]
  }
}
Run Code Online (Sandbox Code Playgroud)

这在使用映射时非常愉快IOptions<Settings>,其中settings类是

public class Settings
{
    public List<string> IgnoredServices { get; set; } 
}
Run Code Online (Sandbox Code Playgroud)

但是,我正在努力用环境变量形式覆盖此json文件选项。我试过了

名称 Settings:IgnoredServices
"ignore1", "ignore2"

名称 Settings:IgnoredServices
["ignore1", "ignore2"]

似乎都无法正确映射,并且出现以下错误消息

System.InvalidOperationException: Failed to convert '["ignore1", "ignore2"]' 
to type 'System.Collections.Generic.List`1[System.String]
Run Code Online (Sandbox Code Playgroud)

我应该将值放入环境变量中以哪种格式才能成功解释为正确的字符串列表?

ade*_*lin 5

尝试这个:

名称 Settings:IgnoredServices:0

ignore1

名称 Settings:IgnoredServices:1

ignore2

  • 尽管有些笨拙,但是这可行。 (2认同)