Vac*_*ano 6 c# msmq nservicebus
我需要能够在错误队列中编辑消息(以便可以将它们重新发送到实际队列以进行重新处理).
我想制作我自己的自定义工具来执行此操作(因为我的消息需要特定的格式以使其易于被支持人员阅读).
我知道这是可能的,因为应用程序" QueueExplorer "就是这样做的.
有谁知道我如何加载MSMQ消息(这不是队列中的第一个),编辑它,并将其保存回队列?
小智 3
使用如下内容迭代消息:
List<Message> msgList = new List<Message>();
using (MessageEnumerator me = queue.GetMessageEnumerator2())
{
while (me.MoveNext(new TimeSpan(0, 0, 0)))
{
Message message = me.Current;
msgList.Add(message)
}
}
Run Code Online (Sandbox Code Playgroud)
然后,您可以遍历列表,处理每条消息。根据原始消息创建新消息。然后删除现有消息并添加新消息。
foreach (Message message in msgList)
{
//Create a new message as required, add it, then remove the old message
MessageQueue.ReceiveById(message.MessageId);
}
Run Code Online (Sandbox Code Playgroud)