![](/img/trans.png)
[英]MSMQ first Message.Body in queue is OK, all following Message.Body in queue are empty
[英]Empty MSMQ queue
我正在尝试从MSMQ队列中获取消息,当我的队列中有消息并且执行线程时,会发生我的问题,该代码在运行时正在清理队列:
queue = new MessageQueue(queueName);
这意味着我要覆盖具有iten的队列,他们的问题是:如何获得以前创建的队列?
编辑:
我正在寻找类似GetPrivateQueueByLabel
的方法,但没有找到!
使用以下代码代替您的代码
//queue = new MessageQueue();
if(queue.Path==null)
{
queue.Path = queueName;
}
//now use queue object for further process
因此,您的队列不会被以前的相同名称的队列替换,并且Microsoft不允许创建具有相同名称的其他队列,因此,如果已经存在具有相同名称的队列,则该队列已被使用,否则会创建新队列。 另外,根据您的EDIT,除了搜索GetPrivateQueueByLabel方法外,您还可以使用以下代码片段,这些代码片段返回计算机(或您提供的计算机名称)中所有私有队列的数组
using System.Net;
using System.Messaging;
MessageQueue[] privatequeuelist = MessageQueue.GetPrivateQueuesByMachine(Dns.GetHostName());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.