4

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

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

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

谢谢

4

2 回答 2

1

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

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

于 2016-06-15T15:59:21.997 回答
0

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

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

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

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

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

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

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

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

于 2020-01-20T01:07:41.367 回答