Webrole没有启动并且总是很忙

时间:2012-04-30 09:29:57

标签: javascript azure azure-web-roles

我正在开发Azure Web应用程序。代码在我的本地计算机上编译并运行良好。但是当我在Azure平台上传软件包时,webrole将无法启动并向Busy状态显示消息:“等待角色启动...系统正在初始化。[2012-04-30T09:19:08Z]”< / p>

Onstart()和Run()都不包含任何代码。我并没有阻止OnStart的回归。

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

可以采取哪些措施来解决这个问题?

3 个答案:

答案 0 :(得分:9)

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

  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(在工作者角色中)代码中配置。在您的角色中运行诊断后,您可以在配置的Azure Blob / Table存储中收集诊断数据以了解该问题。

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

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

    联系Azure支持时,请提供您的订阅ID,部署ID,Azure Live帐户ID以及问题的小描述。

答案 1 :(得分:3)

要检查两件事:

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

答案 2 :(得分:0)