我有旧的“非事务性”队列(MessageQueue),其中可能包含消息。
现在以编程方式,我想: 1.从旧队列中获取消息---->这个完成了 2.创建新的“交易”队列--->这也完成了 3.将消息从旧消息队列复制到新队列-----> 怎么做? 4.删除旧队列。 --->我可以通过调用Close(),然后调用旧队列的Dispose()来实现它,我可以使用MessageQueue.Delete()删除队列。 是不是?是否有必要在删除队列之前调用Close和Dispose?
请以粗体字母指导我。
答案 0 :(得分:1)
您必须从旧队列中读取消息的内容,并将Send
作为新消息读取到新队列。没有复制方法。
要删除队列,可以使用静态方法,因此不应用Close / Dispose:
System.Messaging.MessageQueue.Delete(@"myMachine\MyQueue");