MSMQ适配器的配置说明(转载)

 MSMQ适配器的地址格式:

MSMQ://FORMATNAME:Direct=tcp:192.168.6.16\private$\QueueName

 

对于IMSMQQueueInfo的PathName这个属性,它只接受这样的语法:

"myComputer\myPublicQueue"

"otherComputer\otherPublicQueue"

"myComputer\Private$\myPrivateQueue"

".\myPublicQueue"

".\Private$\myPrivateQueue"

而不接受这样的IP标示:

xxx.xxx.xxx.xxx \private$\yourqname

因为并没有可供使用的语法指明这个地址是IP地址,所以MS不支持这种写法,会返回错误MQ_ERROR_ILLEGAL_PATHNAME (C00E0014)。

对于FormatName这个属性,它才接受你的各种各样DIRECT语法:

Direct=tcp:MyMachineHostName \private$\yourqname

Direct=tcp:xxx.xxx.xxx.xxx \private$\yourqname

               PUBLIC=QueueGUID

               DIRECT=Protocol:ComputerAddress\QueueName

               DIRECT=OS:ComputerName\private$\QueueName

PRIVATE=ComputerGUID\QueueNumber

因为它可以显式指明使用的协议。

如果你不小心给FormatName这个属性赋值

MyMachineHostName \private$\yourqname,那就会得到

MQ_ERROR_ILLEGAL_FORMATNAME (C00E001E)这个错误。

 

同样,如果你不小心给PathName这个属性赋值

direct=tcp:172.xx.xx.xx\private$\YourMQName,那就会得到

MQ_ERROR_ILLEGAL_PATHNAME (C00E0014)这个错误。

这两个属性真的不一样啊,不要搞混了。

我的其他建议:

如果你本机的MSMQ安装模式是Workgroup模式:

只能使用.\private$\ YourPrivateMQName来访问本机的私有MSMQ队列。

而不能使用.\ YourPublicMQName,即本机的公用队列你无法访问,只有在AD模式下才可以访问公用队列。

谨慎起见,我进一步建议你不要在FormatName属性上使用DIRECT语法,因为:

MSMQ1.0并不是完全支持DIRECT语法,MSMQ2.0才支持的。

最好用PathName属性。

所以,一般请这么使用PathName:

MyMachineHostName \ YourPublicMQName。

除非你要在Internet上访问远端MSMQ,再使用FormatName属性指定对方IP地址。

 

转载于:https://www.cnblogs.com/isMe/archive/2006/11/01/547180.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值