4

是否有任何选项可以在读取消息后从 MSMQ 中删除消息?

像,接收+删除可以作为原子操作运行吗?

4

2 回答 2

6

It sounds like you want to peek at the next message and then receive it after you're finished processing.

Message message = Queue.Peek();
Queue.ReceiveById(message.Id);
于 2012-08-16T13:54:26.830 回答
0

Are you referring to the difference between Receive and Peek in MSMQ?

IMO the simplest mechanism to ensure atomic operations is to place the queue operations within a TransactionScope. This can be done with WCF like so.

http://msdn.microsoft.com/en-us/library/ms789032.aspx

于 2012-08-16T13:52:50.867 回答