我正在使用ASP.NET MVC 5和Azure Premium应用服务,并将AlwaysRunning选项设置为"on".
我为Web应用程序创建了一个部署插槽,部署了我的新版本,打开了插槽URL,一切都快速稳定.我交换到生产环境,在交换操作完成后,Web应用程序很慢,就像我手动部署到PROD一样.我不得不等待超过一分钟让我的应用程序再次运行.根据我读到的内容,我认为该应用程序在交换后会变热,但它没有成功.
交换后为什么这么慢?甚至像验证表单那样没有点击数据库的页面.
更新:切换到V2计划(SSD存储)后,应用程序将在不到2分钟内重新启动:)
要在交换期间预热站点,您必须配置要命中的路由.你需要在web.config(link)中这样的东西:
该应用程序很可能重新编译Razor视图,这就是为什么需要一段时间.您可以预编译Razor视图,这将极大地帮助(链接).还有一个如上所述的热身路线,预先填充缓存会有所帮助.