C# 无法通过公用队列发送MSMQ消息

C# 无法通过公用队列发送MSMQ消息,c#,windows,model-view-controller,msmq,C#,Windows,Model View Controller,Msmq,我可以通过专用队列将消息发送到MSMQ C# var queue = new MessageQueue(@"FormatName:DIRECT=OS:machinename\myqueue"); queue.Send(myMessage, MessageQueueTransactionType.Single); 但当我试图通过公共队列发送MSMQ消息时 C# var queue = new MessageQueue(@"FormatName:DIRECT=OS:machin

我可以通过专用队列将消息发送到MSMQ

C#

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

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

C#

   var queue = new MessageQueue(@"FormatName:DIRECT=OS:machinename\PUBLIC$\myqueue");
   queue.Send(myMessage, MessageQueueTransactionType.Single);
我收到以下错误消息:

Format name is invalid

请协助解决此问题。

根据此处的MSDN文档

看起来您不需要在公用队列的路径中使用“PUBLIC$”

所以也许有点像

var queue = new MessageQueue(@"FormatName:DIRECT=OS:machinename\myqueue");
对于专用队列,这似乎有所不同

然后,Micorsoft继续解释说,这可能对您有用

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

假设队列是本地队列。

根据此处的MSDN文档

看起来您不需要在公用队列的路径中使用“PUBLIC$”

所以也许有点像

var queue = new MessageQueue(@"FormatName:DIRECT=OS:machinename\myqueue");
对于专用队列,这似乎有所不同

然后,Micorsoft继续解释说,这可能对您有用

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

假设队列是本地队列。

谢谢。我正在通过IP地址将MSMQ消息发送到另一台计算机。给你:谢谢。我正在通过IP地址将MSMQ消息发送到另一台计算机。给您: