azure - 虚拟应用程序的不同应用程序设置/环境变量

标签 azure asp.net-core-mvc azure-web-app-service

我有一个 Azure Web 应用程序,其中包含 2 个已部署的 Web 应用程序。每个都作为虚拟应用程序位于单独的目录中。两个 Web 应用程序几乎相同,只是它们使用不同的应用程序设置/环境变量 PORTAL_KEY (如客户端开关): enter image description here

但这两个虚拟应用程序都只能识别PORTAL_KEY=Portal1。我想区分子文件夹

  • /portal1 获取 PORTAL_KEY=Portal1
  • /portal2 获取 PORTAL_KEY=Portal2 环境变量。

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

最佳答案

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

一些可能的替代方案:

  • 为每个虚拟应用程序使用不同的应用程序设置键,例如APP1_PORTAL_KEYAPP2_PORTAL_KEY。您可以在代码中创建一个包装器,在查询环境时添加正确的后缀。
  • 为每个应用程序使用不同的 Azure Web 应用程序,而不是虚拟应用程序。这给你最大的分离度。

关于azure - 虚拟应用程序的不同应用程序设置/环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46427176/

相关文章:

asp.net-core-mvc - ASP.NET Core MVC : What happens to a request on RedirectToAction

c# - 在 Controller asp.net-core v1.1.0 之外使用 Dependency Injection 进行应用程序设置

azure - 更改 Azure Web 应用程序中的目标框架

azure - 如何将新文件路径添加到azure应用程序服务中的环境变量Path

visual-studio - Visual Studio 2012 - 仅显示发布到 Azure

azure - 重新部署辅助角色不应更改虚拟机

除非我打开函数应用程序,否则 Azure Functions Blob 触发器不会触发

razor - 从 ASP.NET Core 1.0 中的 ViewModel 元数据输入占位符

azure - 在 Azure 上部署 Stripe 支付网关

Azure 网站 - 持久文件问题