在Azure Web App上使用ASP.Net Core在容器上配置AppSettings:Whither冒号?

时间:2018-07-23 13:32:39

标签: azure docker azure-web-sites

考虑以下appsettings.json

{
  "Parent": {
    "ChildOne": "C1 from secrets.json",
    "ChildTwo": "C2 from secrets.json"
  }
}

根据Microsoft(https://blogs.msdn.microsoft.com/waws/2018/06/12/asp-net-core-settings-for-azure-app-service/),如果将使用此配置的应用程序部署到Azure中的AppService,则可以通过在Azure中以Parent:ChildOne / {{ 1}}。需要明确的是:使用冒号来定位特定的配置。

这对于标准的AppService可以正常工作:

Colons are fine on an Azure App Service

但是,如果您使用Web App for Containers /即将Docker映像部署到Linux(https://docs.microsoft.com/en-us/azure/app-service/containers/app-service-linux-intro)上的Azure App Service,则不能使用冒号:

Colons are not fine on Azure App Service for Linux

为什么?

将鼠标悬停在错误上时,您会看到以下消息:Parent:ChildTwo。使用This field can only contain letters, numbers (0-9), periods ("."), and underscores ("_")无效。

您如何在Azure中配置说.Parent:ChildOne不起作用。有人可以建议吗?我找不到关于此的任何文档。...

1 个答案:

答案 0 :(得分:5)

经过比我想承认的更多的实验,我认为我有答案。

在App Service上使用:的地方,在带有容器的App Service上使用__(双下划线)。

Parent__ChildOne而不是Parent:ChildOne