MSMQ上的私人和公共队列

Lie*_*oen 6 msmq

服务器A是否可以从服务器B访问专用队列?

Mit*_*eat 15

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

我自己从未这样做过,但看起来如果你知道私有队列的完整路径,你可以从另一台服务器访问它:

私人队列

专用队列是未在Active Directory中发布的队列,仅显示在包含它们的本地计算机上.专用队列具有以下功能:

消息队列通过在本地计算机上的LQS(本地队列存储)目录中存储队列的描述来本地注册专用队列.在MSMQ 2.0和消息队列3.0中,默认位置是%windir%\ system32\msmq\storage\lqs.请注意,在本地计算机上创建的每个公共队列的描述也存储在LQS文件夹中的单独文件中.

专用队列在本地计算机上注册,而不是在目录服务中注册,并且通常无法由其他消息队列应用程序找到.

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

路径名:ComputerName\private $\QueueName.

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

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

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

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

专用队列的优点是没有目录服务开销,使得创建更快,访问它们没有延迟,也没有复制开销.

专用队列不依赖于目录服务,因此可以在目录服务不工作时创建和删除.这对离线操作很有用.

私有队列可以向其他应用程序公开的一种方法是设置消息属性.要分发专用队列的位置,应用程序可以将专用队列的格式名称作为消息的响应队列属性发送.

参考.