2016-02-15 20 views
2

我知道我可以在web.config的应用程序初始化部分中指定多个页面,以在部署插槽交换之前运行。我希望能够做的是模拟登录到应用程序,然后访问整个页面,以使应用程序完全热身。预热Azure上经过身份验证的应用程序服务

+0

用户登录的目的是什么?它是温暖缓存或其他东西吗? – jsturtevant

+0

要访问系统中99%的页面,您需要成为登录用户,这样才能让他们第一次运行我们需要登录。 – Gazeth

+1

我正在处理相同的问题,但尚未找到一个办法。我们的MVC网站完全落后于表单身份验证,应用程序初始化模块似乎无法处理这种情况。每当我们扩大规模时,这个新的实例就不会升温! –

回答

0

如果您需要warm the caches for the site,您可以使用applicationInitialization模块指向您已设置的可为您加热缓存的端点。这适用于Auto Swap功能。如何做到这一点的详细说明是在How to warm up Azure Web App during deployment slots swap。你会配置applicationInitialization模块的方法是:

<system.webServer> 
    <applicationInitialization > 
     <add initializationPage="/youendpointToWarmCaches" hostName="youhostname"/> 
    </applicationInitialization> 
<system.webServer> 

这可能会做足够满足您的需求。如果没有,并且您仍然需要向已通过身份验证的终端发出请求以预热应用,那么applicationInitialization模块将无法正常工作。使用该模块指向您的身份验证端点,您将最终获得401或重定向响应。

另一种选择是使用Swap with Preview Functionality。再次有一篇文章详细介绍如何使用Slot Swap with Preview

交换与预览功能加载应用程序,然后应用生产设置,而不实际进行交换。然后,您可以向舞台站点发出请求以预热已认证的路由(请注意,这是针对生产设置的)。一旦完成升温/验证,您可以进行实际交换。工作进程未重新启动因此,一旦交换完成,您就有完全热身的应用程序。

交换可以是automated with Powershell并且是我们构建过程的一部分。

注意:Azure App Service Authentication不适用于Swap Preview。

希望有帮助!

相关问题