如何在环境变量中覆盖appsettings.json中基于数组的设置?

时间:2018-03-06 17:43:44

标签: asp.net azure .net-core

我在appsettings.json中有以下配置

"AvailableThemes": {
    "DefaultThemeKey": "abt",
    "Themes": [
      {
        "ThemeKey": "xc",
        "ThemeTitle": "XC 13"
      },
      {
        "ThemeKey": "abt",
        "ThemeTitle": "Taxis"
        "RegistrationSupported": true,
        "IntroText": "Hello",
      }
    ]
  }
}

我需要能够覆盖环境变量中的RegistrationSupported,这样我才能部署禁用注册的网站,并在链接网站上线时启用它。

  

AvailableThemes:主题:RegistrationSupported

但这不起作用,因为它不知道要覆盖哪个项目。我试过像这样的索引器......

  

AvailableThemes:主题[1]:RegistrationSupported

......哪些不起作用。

1 个答案:

答案 0 :(得分:1)

发布后几乎直接找到答案。 Indexer是正确的方法,但语法错误。

它应该没有方括号......

  

AvailableThemes:主题:1:RegistrationSupported

完整的文章就在这里 - How to override an ASP.NET Core configuration array setting using environment variables