发布时访问Azure网站显示IIS错误

时间:2013-11-03 00:55:37

标签: azure azure-web-sites

我在Azure网站上托管了一个MVC应用程序。

我启用了自定义错误并正常工作(未发布时):

<customErrors mode="On" defaultRedirect="~/Error/NotFound" xdt:Transform="Replace">
  <error redirect="~/Error/NotFound" statusCode="404" />
  <error redirect="~/Error/NotFound" statusCode="403" />
</customErrors>

当我从Visual Studio发布网站时,如果我在更新dll时尝试访问该网站,我会收到一个令人讨厌的IIS错误。

我很惊讶Azure在发布完成之前不等待“绑定”新版本,以避免出现这种情况。有没有办法实现这种“瞬时切换”行为?

和/或 - 如何防止显示此错误?

2 个答案:

答案 0 :(得分:0)

我不能说这会不寻常。根据部署的大小,IIS可能需要一段时间才能重新启动并重新加载,导致503服务不可用或同时出现类似错误。 CustomErrors在这里没有帮助,因为此时甚至没有达到ASP.Net管道。您正在运行哪些Azure网站级别(免费,共享或标准?)如果您可以增加实例的大小以尝试让事情再次快速移动。

答案 1 :(得分:0)

我认为你的部署太慢了。 IIS检测到dll文件中的更改并自动重新启动应用程序池,而无需等待其他dll文件 尝试在web.config中的waitChangeNotification和maxWaitChangeNotification中设置自定义值。这样做可以让IIS在重新启动应用程序池之前等待几秒钟。我不确定它是否适用于Azure。在我的本地IIS上,我使用自定义值,允许我进行长时间部署(约5秒) 文档:http://msdn.microsoft.com/en-us/library/e1f13641(v=vs.85).aspx