【问题标题】:Visiting an Azure Website while Publishing displays IIS Errors发布时访问 Azure 网站显示 IIS 错误
【发布时间】:2013-11-03 00:55:36
【问题描述】:

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

And/Or - 如何防止显示此错误?

【问题讨论】:

  • “令人讨厌的 iis 错误”中显示的消息是什么?
  • @Fabrizio - 缺少 dll,在发布时它会从一次刷新变为下一次刷新。这告诉我高可用性和 Azure 网站不能很好地融合

标签: azure azure-web-app-service


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2013-12-17
      • 1970-01-01
      • 2018-08-01
      • 2014-01-23
      • 1970-01-01
      • 2015-05-21
      • 1970-01-01
      • 2020-03-16
      • 1970-01-01
      相关资源
      最近更新 更多