我正在开发一个项目,我们希望像传统队列一样使用ServiceBus进行消息传递。我经常在队列中看到无法获得的消息。这些消息是活动的(不是死信)。我没有收到任何异常,它等待超时,然后消息为空而没有任何问题。我已经检查了邮件的大小,但都不到1.5 KB。
try
...
QueueClient _queueClient = QueueClient.CreateFromConnectionString(Properties.Settings.Default.ServiseBusConnectionString, Properties.Settings.Default.StatQueueName);
var count = 1000;
for (var i = 1; i <= count; i++)
{
var message = _queueClient.Receive();
//timeout
if (message == null)
{
//message is null :(
continue;
}
}
...
catch
答案 0 :(得分:0)
阅读How to receive messages from a queue并确保使用_queueClient.Complete()
或_queueClient.Abandon()
完成每封邮件。