0

我有一个托管在 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 不会等到发布完成才“绑定”新版本,以避免这种情况。有没有办法实现这种“瞬时切换”行为?

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

4

2 回答 2

0

I can't say this would be unusual. Depending on size of the deployment it may take a while for IIS to restart and reload leading to 503 Service Unavailable or similar errors in the meantime. CustomErrors won't help you here as the ASP.Net pipeline isn't even being reached at this point. What Azure Website level are you running on (Free, Shared or Standard?) If you can up the size of the instance to try and get things moving again more quickly.

于 2013-11-04T12:50:13.670 回答
0

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

于 2013-11-09T11:00:47.267 回答