WIN2K8 R2公共消息队列

时间:2012-06-20 15:33:45

标签: .net msmq public

我有一个小域(6台服务器),我需要使用MSMQ。该项目的代码库来自一家使用WIN2K3服务器的公司已有5年历史的项目,所有功能都正常运行。

我在所有服务器上启用了MSMQ功能(包括AD集成)。

我在所有服务器上创建了PUBLIC队列。

当代码尝试列出远程服务器上的所有公共队列时,代码表明有0个公共队列。

MessageQueue[] MqList = MessageQueue.GetPublicQueuesByMachine(HostName);

它不会抛出异常,它根本看不到队列。

此外,当我使用“计算机管理”管理单元连接到远程计算机时,我无法看到“消息队列”节点。我能够在WIN2K3中看到远程消息队列节点。 (见图)enter image description here

我认为这是一个权限问题,但我尝试尽可能广泛地打开权限,但我仍然没有爱。

2 个答案:

答案 0 :(得分:0)

方法GetPublicQueuesByMachine()确实可通过远程访问。

您可以在MSDN文档中的功能矩阵中看到这一点:MessageQueue.GetPublicQueuesByMachine

  

下表显示了此方法在各种工作组模式下是否可用。

 Workgroup mode                         Available
 --------------                         ---------
 Local computer                         No
 Local computer and direct format name  No
 Remote computer                        No
 Remote computer and direct format name No

我刚刚发现Queue类的大多数方法都有这样的特征矩阵。 : - )

答案 1 :(得分:0)

我还发现GetPublicQueuesByMachine方法在Win2K8服务器上不起作用。

我发现GetPublicQueues DID有效。所以我用它来拉动我需要的队列。

相关问题