如何在不先停止站点的情况下将站点发布到Azure

时间:2018-02-21 20:14:11

标签: visual-studio azure azure-web-sites

我在Azure上运行了一个站点。

当我从Visual Studio发布时,收到一条错误消息,指出文件正在使用中。

如果我然后停止该网站,然后再次发布,然后开始,一切都很好。

但是,我不希望每次对网站进行更新时都需要登录Azure并执行此操作。

有办法做到这一点吗?

这是错误消息: 严重性代码描述项目文件行抑制状态 错误Web部署任务失败。 (Web部署无法修改目标上的文件' GGL.OrderEntry.Data.dll'因为它被外部进程锁定。为了使发布操作成功,您可能需要重新启动应用程序释放锁,或在下次发布尝试时使用.Net应用程序的AppOffline规则处理程序。了解更多信息:http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_FILE_IN_USE。)GGL.OrderEntry 0

DLL是解决方案中的一个项目。

1 个答案:

答案 0 :(得分:3)

一种方法是将public void buttonOnClick(View view) { switch(view.getId()) { case R.id.button1: // Code for button 1 click break; case R.id.button2: // Code for button 2 click break; case R.id.button3: // Code for button 3 click break; } } 文件发布到站点的根目录。这使用IIS功能来阻止应用程序池,如果它看到这样的文件,它应该释放锁并提供此文件。

另一种方法是使用部署插槽。您可以停止“暂存”插槽并发布到该插槽。然后进行插槽交换以使其投入生产。这样可以减少用户停机时间。

部署插槽确实需要标准计划。