MSMQ事务未提交/中止时会发生什么?

时间:2014-10-04 14:13:40

标签: transactions msmq

说我有一个交易队列。

var msgQ = MessageQueue.Create(@".\$private\Orders", True)
msgQ.DefaultPropertiesToSend.Recoverable = true;

现在说我要从队列中消费一条消息......

var msgTx = New MessageQueueTransaction();
msgTx.Begin();
var msg = msgQ.Receive(msgTx)

... 然后机器在提交或中止之前停机。

我试图收到的邮件会怎么样?

1 个答案:

答案 0 :(得分:0)

the documentation for Receive中所述:

  

因为在事务队列上调用此方法,所以消息   如果事务是,则收到的将返回队列   中止。直到该消息才会从队列中永久删除   交易已经提交。