无法通过公共队列发送MSMQ消息

时间:2017-08-24 09:57:45

标签: c# windows model-view-controller msmq

我可以通过私人队列将消息发送到MSMQ。

C#

   var queue = new MessageQueue(@"FormatName:DIRECT=OS:machinename\myqueue");
   queue.Send(myMessage, MessageQueueTransactionType.Single);

enter image description here

但是当我尝试通过公共队列发送MSMQ消息时。

C#

   var queue = new MessageQueue(@"FormatName:DIRECT=OS:machinename\PUBLIC$\myqueue");
   queue.Send(myMessage, MessageQueueTransactionType.Single);

我收到以下错误消息:

Format name is invalid

请协助解决问题。

1 个答案:

答案 0 :(得分:1)

根据这里的MSDN文档......

https://msdn.microsoft.com/en-us/library/ch1d814t(v=vs.110).aspx

看起来你在公共队列的路径中不需要“PUBLIC $”。

所以也许就像......

var queue = new MessageQueue(@"FormatName:DIRECT=OS:machinename\myqueue");

对于私人队列似乎有所不同。

然后Micorsoft继续解释这可能对你有用......

var queue = new MessageQueue(@".\\myqueue");

假设队列是本地队列。