MSMQ消息使用者

时间:2015-12-07 14:04:27

标签: logging msmq listeners

我有很多代理人的申请表'通过MSMQ队列进行通信。其中一个代理将消息放入队列,我希望另一个消息消耗该消息,但这不会发生。因此,注册为该队列的侦听器的代理不会使用该消息,但消息会从队列中消失。 我有办法消费这个消息或者发生了什么事吗?

谢谢

更新 我已经取得了一些进展,我发现消息消失了,但现在我更加困惑。我有这样的事情:

private void queue_PeekCompleted(object sender, PeekCompletedEventArgs e)
{
    var queue = (MessageQueue)sender;

    Message message1 = queue.EndPeek(e);

    var transaction = new MessageQueueTransaction();
    transaction.Begin();
    try
    {
        var message2 = queue.Receive(transaction);
        // process the message
        transaction.Commit();
    }
    catch (Exception ex)
    {
        // some code here
    }
}

但是message1.Id与message2.Id不同

我也试过了 var message2 = queue.ReceiveById(message1.Id, transaction);但它会引发异常......

关于这两个操作之间可能发生什么的任何想法?

0 个答案:

没有答案