【问题标题】:Azure Web App deployment slots web.configAzure Web App 部署槽 web.config
【发布时间】:2016-06-15 08:01:09
【问题描述】:

我有一个部署为 Azure Web 应用程序的应用程序,我想为它创建多个环境:暂存、QA、使用部署槽的 Live。

我将所有应用程序配置保存在 web.config 中,并希望将它们保留在那里。我知道网络应用程序有一个配置部分,但我想使用 web.config。

我的问题是:在插槽之间交换时,有没有办法忽略 web.config 文件,以便每个插槽(环境)保留自己的配置文件?

谢谢

【问题讨论】:

    标签: azure azure-web-app-service azure-deployment-slots


    【解决方案1】:

    在交换期间无法忽略 web.config。交换时,所有文件都会被交换。

    解决此问题的机制是使用doc 中描述的插槽设置。这可用于以覆盖您在 web.config 中的内容的方式设置应用程序设置和连接字符串的值,并将其设置为插槽设置意味着它不会被交换。

    【讨论】:

    • 感谢您的回复。我看到了该选项,但问题是并非 web.config 文件中的所有设置都可以设置为应用程序设置或连接字符串。更不用说我真的不想被“绑定”到特定于 Azure Web 应用程序的配置样式,以防我决定以其他方式托管我的应用程序。感谢您的回复:)
    【解决方案2】:

    简短回答不,您必须在交换之前将 QA 环境中的 web.config 替换为 Live web.config。

    您可能想要使用的是 Azure 的“应用程序设置”。 azure 应用程序设置会覆盖 web.config 值,也可以配置为坚持特定的部署槽。

    确定 web.config 中特定于环境的 AppSettings 和 ConnectionStrings 设置,为每个环境在 Azure 配置区域中配置这些设置并将它们标记为“部署槽设置”。

    例如,假设我有一个用于 QA 和实时环境的部署槽,称为 QA-Slot 和 Live-Slot。

    在我的示例中,我有一个到 QA 数据库和 Live 数据库的特定连接字符串,称为“defaultConnection”,假设对于其中的每一个,我都有一个指向“Live”APIUrl 和“QA”的 webApp 设置' APIUrl.

    要使用 Azure 界面设置连接字符串和 appSettings,请导航到 Web 应用的仪表板,在左侧的垂直导航中,选择“设置”部分下的“配置”,然后在水平制表符。

    适当地设置您的 appSettings 和连接字符串,在“添加/编辑”对话框中有一个复选框可将它们指定为您要检查的“部署槽设置”。

    为 Live 和 QA 环境配置设置后,Live-Slot 中的任何部署都指向“Live”数据库和“Live”APIUrl,QA-Slot 中的任何部署都指向 QA 数据库和 QA APIUrl。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-22
      • 1970-01-01
      • 2018-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多