【问题标题】:Cannot deploy to Azure无法部署到 Azure
【发布时间】:2012-06-24 22:31:49
【问题描述】:

昨天,我可以完美地将我的服务部署到 Windows Azure 上的托管服务实例。今天,我总是遇到类似的错误

6:09:56 PM - Preparing...
6:09:56 PM - Connecting...
6:09:59 PM - Uploading...
6:11:15 PM - Creating...
6:12:28 PM - Starting...
6:13:20 PM - Initializing...
6:13:21 PM - Instance 0 of role TestWebRole is initializing
6:18:39 PM - Instance 0 of role TestWebRole is busy
6:21:51 PM - Instance 0 of role TestWebRole is stopped
6:21:51 PM - Warning: All role instances have stopped
6:22:23 PM - Instance 0 of role TestWebRole is busy
6:23:26 PM - Instance 0 of role TestWebRole is stopped
6:23:26 PM - Warning: All role instances have stopped

这些错误的发生通常是由于云服务器上不存在的依赖项(如果您搜索上面的警告,您会在 SO 和 Google 上找到)。但是我检查了每一个依赖项,它们都在Copy Local=True 那里。

为了进一步隔离问题,我首先使用新的 MVC 3 Web 角色创建了一个新的 Azure 项目,然后我使用标准的 ASP.NET Web 角色创建了一个新的 Azure 项目,但仍然没有运气。我试图停用诊断程序,重新激活它。在 Azure 模拟器上,项目运行良好。

即使标准的 Visual Studio 也无法部署到 Azure,我总是收到 Warning: All role instances have stopped

有点令人沮丧。我正在使用带有 Azure 工具 1.3 的最新 Azure SDK 1.7。

感谢您的任何提示。

【问题讨论】:

    标签: deployment azure azure-web-roles


    【解决方案1】:

    如果项目在模拟器中运行良好,大多数情况下这是因为您的机器上安装了所有必需的依赖项,但 Windows Azure 中没有。

    我建议您查看 David 回答中的博文,除了解释如何禁用会话状态之外,它还解释了您必须将哪些程序集设置为 Copy Local 以使 MVC3 正常工作。或者,您可以尝试 Steve 在他的博文中描述的一种技术:http://blog.smarx.com/posts/asp-net-mvc-in-windows-azure

    它确实可以帮助您激活远程桌面来解决这个问题。如果您注意到您的实例正在循环,我建议您通过 RDP 连接并查看事件查看器(您可能需要尝试几次才能连接)。请留意应用程序日志中的 ASP.NET 警告,大多数情况下,这些警告会为您提供有关缺少哪些程序集的更多信息。

    【讨论】:

    • 我不知道是什么导致了这个问题,但今天它工作正常。感谢您对 RDP 的提示,非常有帮助
    【解决方案2】:

    令人惊讶的是,昨天它起作用了,而今天却不起作用。也就是说:当创建一个全新的 asp.net 项目时,默认会话状态提供程序被映射到本地 SQL 数据库,这在 Windows Azure 中不存在。您需要编辑 web.config 以将其指向 Windows Azure SQL 数据库或缓存(共享缓存服务或 SDK 1.7 中可用的新角色内缓存)。

    Nate Totten 从去年开始在this blog post 讨论了会话问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-06
      • 1970-01-01
      • 2020-02-08
      • 2021-10-31
      • 2018-01-17
      • 2021-11-29
      相关资源
      最近更新 更多