Azure Web 应用部署槽 web.config

Azure Web App deployment slots web.config

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

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

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

谢谢

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

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

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

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

确定 web.config 中哪些 AppSettings 和 ConnectionStrings 设置是特定于环境的,对于每个环境,在 Azure 配置区域中配置它们并将它们标记为 'Deployment slot settings'。

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

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

要使用 Azure 界面设置连接字符串和 appSettings,导航到 Web 应用程序的仪表板,在左侧的垂直导航中,select 'Configuration' 在 'Settings' 下部分,然后在水平选项卡中 select 'Application settings'。

适当地设置您的 appSettings 和连接字符串,在 Add/Edit 对话框中有一个复选框将它们指定为您要检查的 'Deployment slot setting'。

在为 Live 和 QA 环境配置设置后,Live-Slot 中的任何部署都指向 'Live' 数据库和 'Live' APIUrl,QA-Slot 中的任何部署都指向 QA 数据库和质量检查 APIUrl。