在交换期间防止暂存站点重新启动

时间:2017-07-13 10:24:03

标签: azure-web-sites azure-web-app-service kudu azure-app-service-plans

根据我的理解,暂存网站需要重启的唯一原因是,是否存在应用程序设置或连接字符串配置为插槽设置。

虽然这看起来并不总是正确的。我们的一个应用程序将重新启动。我使用了Powershell cmdlet来确保没有插槽设置"隐藏"从门户网站(因为显然这是一件事)。

还有哪些其他因素可以决定在交换期间是否重新启动暂存网站?

(我在this上发布了kudu GitHub repository,但没有收到回复信息)

编辑:

回应拜伦的回答:

我做了一些非常全面的测试(请参阅my testing repo),我可以执行插槽交换(有和没有预览),无需重置生产或暂存插槽。显然,在Web Apps上没有配置插槽设置。

这是否意味着无法保证重启?我在这里提出的问题是,如果没有重启,IIS'应用程序初始化模块仍然确保应用程序确实已经预热(因为这些事情可能需要几分钟)?

2 个答案:

答案 0 :(得分:8)

如果有应用程序设置或连接字符串标记为插槽设置,则在交换之前将始终重新启动暂存插槽。还有一些导致重新启动的其他条件,例如,如此处所述http://ruslany.net/2014/03/azure-web-sites-continuous-deployment-with-staged-publishing/所述启用了持续部署时。重新启动的其他原因是在生产或暂存插槽上启用了站点身份验证。

如果没有重启,则在交换期间不会重新执行appinit模块,因为它仅在初始化工作进程时运行。如果您想确保始终重新启动,那么您可以创建一些虚拟应用程序设置并将其标记为插槽设置。

答案 1 :(得分:0)

据我了解

具有不同值的

非广告位设置应要求重新启动源站点 (每次交换都会交换具有不同值的非广告位设置)

插槽设置仅在预览模式下才需要重新启动源站点。 (在没有“预览模式”的情况下,每个插槽都会保留其插槽设置)