【发布时间】:2011-01-29 09:52:21
【问题描述】:
我们的 MQ 服务将移至本地服务器之外。我可以看到当前目标队列地址为“.\Private$\eventQueue”。
发送消息的远程地址格式是什么?
【问题讨论】:
标签: msmq
我们的 MQ 服务将移至本地服务器之外。我可以看到当前目标队列地址为“.\Private$\eventQueue”。
发送消息的远程地址格式是什么?
【问题讨论】:
标签: msmq
来自Technet:
Private queues are accessible only by Message Queuing applications
that know the full path name, the direct format name, or
the private format name of the queue, as follows:
* Path name:ComputerName\private$\QueueName.
* Path name on local computer: \private$\QueueName.
* Direct format name:: DIRECT=ComputerAddress\PRIVATE$\PrivateQueueName.
* Private format name: PRIVATE=ComputerGUID\QueueNumber.
有关队列名称的更多信息,请参阅this article。需要注意的一件事是,无法判断远程私有队列是否是事务性的,如果您使用错误的事务性选项设置发布消息,则消息将被丢弃。
【讨论】:
您无法远程访问私有队列(这就是它们是私有的原因)。但是,您可以使用以下队列名称来访问 public 队列:
FormatName:DIRECT=OS:<machine>\<queue>
(这适用于 .NET 库,我不确定本机库)
【讨论】: