相应的WCF绑定使用的实际MSMQ地址是多少?

时间:2010-12-21 12:16:06

标签: wcf msmq

此问题与this one有关。

鉴于WCF绑定使用net.msmq:// URL,例如net.msmq://server/private/nc_queue,如何知道该URL被转换为的实际MSMQ地址是什么?是否有某种可以激活的痕迹?或者是一个可以帮助人们捕获地址的外部工具?

感谢。

EDIT1

好的,我应该澄清一下。可以通过相应的.NET API直接与MSMQ对话。在MSMQ超过其本机端口1801的情况下,我将使用此MSMQ地址:

FormatName:Direct=OS:server\private$\nc_queue

通过HTTP配置MSMQ时,地址会更改为:

FormatName:Direct=http://server/msmq/nc_queue

但是WCF绑定使用标准URL来描述地址,例如:

net.msmq://server/private/nc_queue

那么,我怎么知道net.msmq://被翻译的实际MSMQ地址(具有FormatName的地址)是什么?

1 个答案:

答案 0 :(得分:2)

我真的不明白你的问题....如果你使用WCF netMsmqBinding,你基本上是将MSMQ消息放入MSMQ队列。所以你真正拥有的是你正在处理的队列名称 - 而不是URL ......

net.msmq://server/private/nc_queue

这转换为nc_queue上名为server的MSMQ私有队列 - 那么你真正要做的是什么?我没有得到它.....关心澄清??

与此同时,查看Tom Hollander关于MSMQ,WCF和IIS的三篇博文系列文章:

更新:我想我已经开始了解您的问题了 - 如果您使用的是WCF netMsmqBinding,那么您将直接连接到MSMQ - 这是不是“MSMQ-over-HTTP”。如果您想从WCF客户端设置和使用MSMQ-over-HTTP,根据我的理解,您将使用直接的常规HTTP服务,因此您必须使用basicHttpBinding(或{ {1}}) - 特定的wsHttpBinding