为什么MSMQ认为我在工作组计算机上?

Mik*_*ras 20 dns msmq workgroup

我的计算机已连接到域,但是当我创建公共队列时:

MessageQueue.Create(@".\testqueue");
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

工作组安装计算机不支持该操作.

为什么MSMQ会认为我在工作组计算机上?

Bob*_*orn 25

我知道这已经很晚了,并且已经有了一个可接受的答案,但我刚刚遇到了这个问题,并且通过更改队列字符串的格式解决了这个问题.

当我的队列名称是这样时,我得到了工作组错误:

".\QueueName"
Run Code Online (Sandbox Code Playgroud)

当我将其更改为更正式的版本时,没有错误并且发送到队列工作:

"FormatName:DIRECT=OS:ComputerName\private$\QueueName"
Run Code Online (Sandbox Code Playgroud)

为了防止其他人遇到这篇文章,现在他们还有别的东西要尝试......

  • ".\ QueueName"指向公共队列.将消息发送到公共队列会引发上述错误.但是将消息发送到专用队列则不会.您的正式版本实际上指向一个私人队列.这就是他们工作的原因. (17认同)

Joh*_*ell 15

作为域的一部分是在AD集成模式下安装MSMQ的前置光标.它不保证MSMQ IS安装在AD集成模式下.如果出现以下情况,MSMQ将以工作组模式安装:

  1. 未选择AD集成作为设置选项
  2. 已选择AD集成但未能初始化; 检查事件日志

是的,工作组名称在域成员情况下令人困惑.

  • 我检查了日志,发现MSMQ检测到以前的MSMQ配置与使用AD时发生冲突.我安装了MSMQ,后来启用了AD集成.我完全卸载了MSMQ,然后重新安装了所有内容(包括AD集成),我就不再收到错误了.谢谢您的帮助. (4认同)

arj*_*jun 14

我遇到了同样的问题并通过将其更改为@".\ private $\QueueName"来解决它