使用不同主机名的 azure 插槽交换期间的 applicationInitialization

问题描述

我们正在尝试使用 applicationInitialization 功能

<system.webServer>
    <applicationInitialization>
        <add initializationPage="/" hostName="[app hostname]" />
        <add initializationPage="/Home/About" hostName="[app hostname]" />
    </applicationInitialization>
</system.webServer>

来自:https://docs.microsoft.com/en-us/azure/app-service/deploy-staging-slots 在插槽交换期间。 但是,我们的主机名会在插槽交换期间发生变化。

例如:

暂存槽具有主机名:staging-mysite.com

并且实时插槽具有主机名:mysite.com

只是想知道是否有其他人遇到过这种情况或对如何实现这一目标有任何建议?

一种方法是在交换期间手动更新 web.config

干杯

詹姆斯

解决方法

我在门户网站上使用一个简单的 Asp.Net Core Web 应用程序进行测试。 在交换插槽时会交换 web.config 文件。因此您可以修改 KUDU 站点上两个插槽中的 hostname

https://your-prod.scm.azurewebsites.net/DebugConsole -> site -> wwwroot -> web.config

https://your-staging.scm.azurewebsites.net/DebugConsole -> site -> wwwroot -> web.config

enter image description here