我可以通过私人队列将消息发送到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
请协助解决问题。
答案 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");
假设队列是本地队列。