2010-08-03 283 views

回答

14

除了MSMQ发布有关Active Directory(AD)中的公用队列的信息之外,公用和专用队列之间几乎没有功能差异。

我从来没有做过这样自己,但现在看来,如果你知道的完整路径的专用队列,您可以从其他服务器访问:

专用队列

私人队列是不是在Active Directory中发布的 的队列,并且 仅在包含它们的本地计算机 上显示。专用队列 具有以下特征:通过存储队列的 描述在 本地计算机上的LQS (本地队列存储)目录 队列局部

消息队列寄存器私人。在MSMQ 2.0和 消息队列3.0中,默认 位置为 %windir%\ system32 \ msmq \ storage \ lqs。 请注意,在本地计算机上创建的每个公共 队列的描述也是 ,也在本地存储在LQS文件夹中的单独文件 中。

专用队列注册 本地计算机上,而不是在目录 服务,并且通常不能位于其他消息队列 应用 。

专用队列只能由消息队列应用程序 知道的全路径名,直接 格式的名称,或队列的私有格式 名 ,如下所示:

路径 名计算机:\私人$ \ QUEUENAME。

本地计算机上的路径名称: \ private $ \ QueueName。

直接格式名称:: DIRECT = ComputerAddress \ PRIVATE $ \ PrivateQueueName。

私有格式名称: PRIVATE = ComputerGUID \ QueueNumber。

有关路径名和 格式名称的详细信息,请参阅队列名称。

专用队列有 无目录服务开销的优势,使得他们 更快地创建,在 无延迟访问它们,并没有复制 开销。

专用队列不依赖于 目录服务,从而可以 创建,并在该目录 服务工作不被删除。这对离线操作很有用 。

暴露给其他应用程序的私人队列可以是 的一种方式是通过 设置消息属性。要向 分发私有队列的位置,应用程序可以发送 私有队列的格式名称作为 消息的响应队列属性。

Ref

+0

看起来你很可能会碰到一些砖墙。使用此链接尝试修复它们(包含指向新页面的特定解决方案的链接的三个bulletpoints):[来自管道工伙伴的MSMQ](http://blogs.msdn.com/b/johnbreakwell/archive/2010/03/24 /understanding-how-msmq-security-blocks-rpc-traffic.aspx) – goamn 2014-07-14 22:58:39