Azure工作角色无法启动

4

我正在使用后端工作角色的产品进行alpha测试。两周前,工作角色正常运行,但最近我推送了一些新内容,除了工作角色没有执行其工作(监视消息队列)之外,一切似乎都很正常...

我通过远程桌面连接到工作角色实例,并在机器的事件日志中发现了以下事件:

“MA_ETWSESSION_RD00155D47CFD4_QueueWorkerRole_IN_0”会话启动失败,错误代码为:0xC0000035

但是除此之外,一切都很好(看起来如此)。应用程序代理运行时日志甚至表示一切正常:

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

我已经使用异常处理包装了工作角色的主要部分,试图捕获一些神秘的错误,但我不知道是什么原因导致这种情况...


你能否在worker role对象的Start()/OnRun()方法中添加任何异常的文件记录?拥有真实的异常信息将会很有帮助。 - Igorek
你需要全面记录所有内容。如果记录异常,你需要记录它的类型和调用堆栈,而不仅仅是文本。你需要一些实际的数据来处理,但现在你只能猜测。 - sharptooth
@Igorek:我已经将其包装在整个运行过程中,没有抛出任何异常,这就是我的沮丧之处...当我在本地运行时,工作角色每次都会触发,当我在本地调试并将我的Azure项目切换到“云”模式时,它可以正常运行(但这意味着它只会针对Azure消息队列运行,这证明已正确部署)。 - Rikon
@sharptooth:请看我上面的评论...在我转向SO之前,我已经将运行和工作角色的初始化都包装在try catch中了...没有任何异常被抛出...我不明白。 - Rikon
这意味着您需要添加更多的日志记录,以查找最后成功执行的代码,并继续进行,直到找到不起作用的内容。猜测是找不到它的。 - sharptooth
1
尝试打开Azure基础结构日志记录并查看WADDiagnosticsInfrastructureLogsTable?那里可能会有一些信息。总的来说,搜索0xC0000035异常并不能提供任何安慰,这个问题可能无法在不获得Azure支持的情况下解决。 - Igorek
1个回答

0
  • 尝试使用 IntelliTrace 启用重新部署服务。
  • 不仅仅记录 Run 方法,还要跟踪任何从 OnStart 和 OnStop 方法中抛出的内容。
  • 注意您可能已添加到类中的静态成员或构造函数 - 它们可能会导致您的对象实例在接触 OnStart 方法之前就无法创建。

其他可能影响启动的事项: * 您是否已将部署到角色实例的程序集所需的所有依赖项都具备? * 您是否在开发计算机上禁用了强名称验证并在发布时忘记对程序集进行签名?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接