Windows Service Bus消息消失

时间:2014-03-31 21:31:41

标签: c# servicebus azureservicebus

我有一个消失的消息。我有以下服务总线实现:

BrokeredMessage msg = new BrokeredMessage(messageContent);
msg.TimeToLive = messageLiveTime;

queueClient.SendAsync(message);

// Later

var messageOptions = new OnMessageOptions() {MaxConcurrentCalls = maxConcurrentCallsToCallBack};
client.OnMessage((incomingMessage) =>
{
    T content = CommonServiceBus.ExtractMessageContent<T>(incomingMessage);

    if (content != null)
    {
       callBack(content); 
    }
}, messageOptions);

我有3个MaxConcurrentCalls,消息TTL是12个小时;但是,我发送了大约10条消息(每条消息大约需要30秒才能完成),前9条消息被处理,但是从未收到第10条消息。

我尝试的事情:

  1. 其他任何人都没有使用这些消息。
  2. 消息未到期(至少其TTL设置正确)
  3. 如果我将MaxConcurrentCalls降低到1则会变得更糟。有些东西消耗了消息(或消息即将到期),但我不知道在哪里或如何。

1 个答案:

答案 0 :(得分:1)

我们遇到了类似的问题,事实证明,如果它比容器TTL短,则仅使用消息TTL。确保您没有设置容器TTL或将其设置为大于您将使用的最大消息TTL的值。