【问题标题】:Azure worker role won't startAzure 辅助角色无法启动
【发布时间】:2025-12-15 03:05:01
【问题描述】:

我正处于 Alpha 阶段,产品使用后端工作者角色。工人角色大约在 2 周前工作,但最近我拒绝了一些新的东西,一切似乎都很好,除了工人角色没有做它的工作(监控消息队列)......

我 RDP'ed 到工作角色实例中,并在机器的事件日志中发现以下事件:

会话“MA_ETWSESSION_RD00155D47CFD4_QueueWorkerRole_IN_0”未能 从以下错误开始:0xC0000035

但除此之外一切都很好(看起来)。

AppAgentRuntime 日志甚至显示一切正常:

[00001320:00000896, 2013/02/28, 21:05:21.743, 00040000] 角色 847e925f39f044759cbcdb162c818553.QueueWorkerRole_IN_0 已经稳定。

我已经用异常处理包装了工人角色的主要部分,试图抓住一些神秘的错误,但我不知道这是怎么回事......

【问题讨论】:

  • 您能否将任何异常的文件记录添加到辅助角色对象的 Start()/OnRun() 方法中?有一个真正的异常消息会很有帮助
  • 您需要彻底记录所有内容。如果你记录一个异常,你需要记录它的类型和调用堆栈,而不仅仅是文本。您需要一些实际数据来处理,但现在您只能猜测。
  • @Igorek:我已经在整个运行过程中将它包装起来,它没有抛出异常,这让我很沮丧......当我在本地运行它时,每次以及当我在本地调试并放置我的azure 项目在“云”模式下运行得很好(但这意味着它只会针对 azure 消息队列运行,这证明部署正确)
  • @sharptooth:见我上面的评论......在我转向 SO 之前,我已经在 try catch 中包装了运行和初始化工作角色......没有抛出异常...... . 我不明白。
  • 尝试打开 Azure 基础结构日志记录并查看 WADDiagnosticsInfrastructureLogsTable?那里可能有东西。总体而言,谷歌搜索 0xC0000035 异常并不能让人放心,无需获得 Azure 支持即可解决此问题

标签: c# azure azure-worker-roles


【解决方案1】:
  • 尝试在启用 IntelliTrace 的情况下重新部署您的服务。
  • 不要只记录您的 Run 方法,还要跟踪从您的 OnStart 和 OnStop 方法抛出的任何内容。
  • 请注意您可能已添加到类中的静态成员或构造函数 - 它们可能会在您接触 OnStart 方法之前无法创建您的对象实例。

其他可能会影响您的创业的事情: * 您是否拥有将程序集加载到角色实例所需的所有依赖项? * 您是否在您的开发机器上禁用了强名称验证并在发布时忘记签署您的程序集?

【讨论】: