我正在学习关于 ServiceBus 的基本教程。Web 角色将对象添加到 ServiceBus 队列,而工作角色从队列中读取这些消息并将它们标记为完成。这一切都在本地环境中(计算模拟器)。
看起来它应该非常简单,但我看到了以下行为:
- 通话
QueueClient.Receive()
总是超时。 - 有些消息只是挂在队列中,并没有被工作人员接收。
会发生什么?如何调试这些消息的状态?
我正在学习关于 ServiceBus 的基本教程。Web 角色将对象添加到 ServiceBus 队列,而工作角色从队列中读取这些消息并将它们标记为完成。这一切都在本地环境中(计算模拟器)。
看起来它应该非常简单,但我看到了以下行为:
QueueClient.Receive()
总是超时。会发生什么?如何调试这些消息的状态?
您可以检查队列的长度(从门户网站或查看MessageCount属性)。
另一种可能性是消息是DeadLettered。您可以使用此示例代码从 DeadLettered 子队列中读取。
首先,请确保队列中确实有一些消息。我想建议您运行本教程的最终解决方案:http: //msdn.microsoft.com/en-us/WAZPlatformTrainingCourse_ServiceBusMessaging。如果一切正常,请将您的代码与示例代码进行比较。如果这不起作用,则可能是配置问题或网络问题。然后我建议您检查您是否已正确配置服务总线帐户,并检查您是否能够从您的计算机访问互联网。
此致,
明旭。