什么可能导致我的WebRole永远不会启动?

时间:2012-04-09 01:05:55

标签: azure

我在azure上托管了一个Web服务作为Web角色。 在此Web角色中,我重写Run()方法并按以下顺序执行一些数据库操作,以基本上充当辅助角色。

  1. 转到blob存储以获取一小组数据。

  2. 缓存此数据以供将来使用。

  3. 杀死一些太旧的斑点。

  4. Thread.Sleep(900000);
    
  5. 基本上,操作在后台每15分钟重复一次。 当我在DevFabric上运行时,它运行正常,但是当部署时,天蓝色的门户卡在一个稳定角色的循环中,然后准备节点。

    永远不要启动任何一个实例。 我已经启用了诊断功能,它没有向我显示任何暗示存在问题的信息。 我不知道为什么会发生这种情况。

3 个答案:

答案 0 :(得分:1)

听起来像OnStart中的错误。你有没有办法尝试/捕捉整个函数并将错误转储到EventViewer?从那里,您将能够远程访问实例并调查错误

部署到云的配置很可能与在模拟器中运行的配置不同(SQL Azure防火墙权限,指向本地开发存储而不是ATS的指针等)。此外,请确保您的诊断指向真正的Azure帐户而不是本地Dev存储。

答案 1 :(得分:1)

我建议将此代码移至Run()。在OnStart()中,负载均衡器尚未显示您的角色实例,并且由于您在OnStart()中引入了很长时间(确定无限延迟),这可能就是您看到的原因有关该角色试图稳定的消息(有关这些消息的更多信息是here。)

答案 2 :(得分:0)

当其他人努力帮助我时,我通常不喜欢回答我自己的问题,但是我觉得应该记录我用来解决这个问题的方法。

我在部署到Azure时启用了intellitrace,我能够看到抛出的所有异常并调查异常的原因。

Intellisense在解决我的部署问题方面至关重要。我建议任何人看到部署devfabric和部署到azure之间的不一致。