我有本地运行的软件,并在许多服务器上执行以下操作:
var queues = MessageQueue.GetPrivateQueuesByMachine("localhost");
Run Code Online (Sandbox Code Playgroud)
特别是一台服务器抛出一个异常:
System.Messaging.MessageQueueException: Message Queue service is not available.
at System.Messaging.MessageQueue.GetPrivateQueuesByMachine(String machineName)
Run Code Online (Sandbox Code Playgroud)
MSMQ的安装方式与我在其他机器上的安装方式相同.我还成功绑定了多个WCF服务net.msmq://localhost/private/....
有没有理由说MSMQ可能没有绑定到localhost?
检查出MSDN之后,似乎我应该使用".",这很有用,但是当localhost似乎完全有效时,我宁愿避免更改代码和重新部署.FWIW,这是我运行的其他一些测试的结果:
var queues = MessageQueue.GetPrivateQueuesByMachine("."); // succeeds
var queues = MessageQueue.GetPrivateQueuesByMachine("localhost"); // fails
var queues = MessageQueue.GetPrivateQueuesByMachine("127.0.0.1"); // fails
var queues = MessageQueue.GetPrivateQueuesByMachine("machineName"); // fails
Run Code Online (Sandbox Code Playgroud)
可能有一个 HOSTS 文件条目将本地主机 IP 地址映射到某个计算机名称。
| 归档时间: |
|
| 查看次数: |
2103 次 |
| 最近记录: |