【问题标题】:Webrole is not starting and always busyWebrole 没有启动并且总是很忙
【发布时间】:2012-04-30 09:29:57
【问题描述】:

我正在开发一个 Azure Web 应用程序。代码在我的本地机器上编译并运行良好。但是当我在 Azure 平台上上传包时,webrole 不会启动并给出忙碌状态并显示消息:“等待角色启动...系统正在初始化。[2012-04-30T09:19:08Z]”

Onstart() 和 Run() 都不包含任何代码。我不会阻止 OnStart 的返回。

但是我在 javascript 中使用 window.setInterval。 javascript 函数每 10 秒从数据库中检索一次值。

可以做些什么来解决这个问题?

【问题讨论】:

  • 您使用的是哪些版本的工具(Visual Studio、.NET、Azure Projects 等)?你能部署和启动一个非常简单的项目吗?
  • javascript 不会影响您的 webrole 的启动。
  • @RickNZ 我正在使用带有 .Net 4.0 的 Visual Studio 2010。是的,我能够部署并启动一个简单的测试项目。
  • @f0x 感谢关于 javascript 的回复。

标签: javascript azure azure-web-roles


【解决方案1】:

在角色(Web 或 Worker)卡住的大多数情况下,我发现以下步骤非常有用:

  1. 始终为您的角色添加 RDP 访问权限,因为在某些情况下,当角色卡住时,您仍然可以对您的实例进行 RDP 并自行调查问题。在某些情况下,您无法 RDP 到您的实例,因为依赖服务尚未准备好让您进入。因此,如果您启用了 RDP 或可以 RDP 到您的实例,请尝试登录。

  2. 一旦您的实例具有 RDP。获取本地机器 IP 地址并直接在浏览器中启动。在内部 IP 地址从 10.x.x.x 开始,因此您可以根据您的端点配置打开浏览器,即 http://10.x.x.x:80https://10.x.x.x:443

  3. 如果您无法通过 RDP 进入实例,那么最好的办法是获取诊断信息以了解问题所在。诊断信息在您的实例中收集并发送到 Azure 存储,由您在 WebRole.cs(在 Web 角色中)或 WorkerRole.cs(在 Worker 角色中)代码中配置。诊断在你的角色中发挥作用后,你可以在配置的 Azure Blob/表存储中收集诊断数据以了解问题。

  4. 如果您没有 RDP 访问权限并且没有配置任何 Azure 诊断(或无法获取任何诊断数据来了解问题),最好的办法是联系 Azure 支持团队(24x7 通过网络或电话)在下面的链接中,他们将能够访问您的实例(在您的许可下)并为您提供根本原因。

https://support.microsoft.com/oas/default.aspx?gprid=14928&st=1&wfxredirect=1&sd=gn

联系 Azure 支持时,请提供您的订阅 ID、部署 ID、您的 Azure 真实帐户 ID 以及对您的问题的简短描述。

【讨论】:

    【解决方案2】:

    要检查两件事:

    1. 确保您的诊断连接字符串指向真实帐户,而不是开发存储
    2. 检查 web.config 中的会话状态提供程序。默认情况下,它指向 SQL Express LocalDB,它在 Windows Azure 中不存在。

    【讨论】:

      【解决方案3】:
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-28
      • 1970-01-01
      相关资源
      最近更新 更多