我们最近在Azure中推出了一个新网站(即Azure网站),并且在推出新版本时我们不得不部署一些调整来解决小问题。
我们希望从长远来看使用Slots,但目前无法实现。因此我们正在部署到实际站点。这是一个相当繁忙的网站,拥有大量的流量,显然希望将停机时间降至最低。
我们正在使用Visual Studio向Azure发布文件更改,但是我们注意到即使我们发布了一个相对无关紧要的单个文件,整个网站也会崩溃并且难以重新启动。我假设发布单个文件实际上只是替换文件系统上的那个文件,但它的行为更像是回收站点的应用程序池(或Azure等效文件)。我发布的文件类型一直是Razor视图,因此通常不会导致回收。
有没有人知道在VS Publish的引擎下究竟发生了什么,是否有办法避免这种情况发生?
感谢。
答案 0 :(得分:1)
我刚尝试使用一个基本干净的新MVC应用程序(https://github.com/KuduApps/Dev14_Net46_Mvc5),我没有看到这种行为。 Index.html视图具有基于静态的命中计数,这将告诉我们应用程序或页面是否已重新启动(或者是否重新编译该特定页面)。
然后测试是发布它,对某些其他视图(about.cshtml)进行更改,然后再次发布。当这样做并点击Index.cshtml时,计数会继续上升,并且减速最小。
如果您在视图更改后看到它重新启动,我建议使用Kudu Console在发布之前/之后查看site \ wwwroot中的文件,并检查具有更新时间戳的内容(例如,检查web.config ,bin文件夹,...)。