2017-09-26 164 views
1

我有一个配备了2个部署的Web应用程序的天青web应用程序。与虚拟应用程序在一个单独的目录中。这两个Web应用程序都差不多,只是他们所消费的不同应用程序设置相同/环境变量PORTAL_KEY(如客户端交换机): enter image description here虚拟应用程序的不同应用程序设置/环境变量

但两者的虚拟应用程序只能识别PORTAL_KEY=Portal1。我想区分,使得子文件夹

  • /portal1得到PORTAL_KEY=Portal1
  • /portal2得到PORTAL_KEY=Portal2环境变量。

如何在不修改每个文件夹中的appsettings.json的情况下实现该目标(因为它们将被下一个Web部署覆盖)。

回答

1

一个Azure Web App中的所有虚拟应用程序都运行在相同的IIS进程(w3wp.exe)中,因此它们不能具有不同的环境变量。

一些可能的备选方案:对于每个虚拟应用程序,例如

  • 使用不同的应用程序设定键APP1_PORTAL_KEY vs APP2_PORTAL_KEY。您可以在代码中创建一个包装器,以便在查询环境时添加正确的后缀。
  • 为每个虚拟应用程序使用不同的Azure Web Apps。这给你最大的分离。
+0

感谢您的回答。不幸的是,你的替代品不能应用。 1)使用不同的应用程序设置键不起作用(请参阅问题)。 2)我想使用不同的Azure Web应用程序,但客户没有。 – Marcel

+0

@Marcel然后答案是,我不认为你要求的是可能的 –

+0

我想是的。也许我试着添加不同的发布配置文件,指向不同的解决方案配置,以不同的'PORTAL_KEY'(像旧的web.config转换那样)部署不同的appsettings.json。 – Marcel

相关问题