【问题标题】:Different App settings / environment variables for Virtual applications虚拟应用程序的不同应用程序设置/环境变量
【发布时间】:2017-09-26 12:53:55
【问题描述】:

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

    一些可能的替代方案:

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

    【讨论】:

    • 感谢您的回答。不幸的是,您的替代方案无法应用。 1)使用不同的应用程序设置键不起作用(见问题)。 2) 我想使用不同的 Azure Web 应用,但客户没有。
    • @Marcel 那么答案是我不认为你所要求的是可能的
    • 我想是的。也许我尝试添加指向不同解决方案配置的不同发布配置文件,以使用不同的PORTAL_KEYs 部署不同的 appsettings.json(就像旧的 web.config 转换一样)。
    • 确定是否可以将设置存储在物理文件中,而不是实现这一点。
    猜你喜欢
    • 2012-06-08
    • 2017-11-14
    • 2016-10-08
    • 2014-08-02
    • 2012-10-03
    • 2021-05-27
    • 2013-06-27
    • 2014-12-23
    • 2010-09-09
    相关资源
    最近更新 更多