我在传出的 MSMQ 上有一堆由于拼写错误而被错误处理的消息。他们被困在传出队列上,因为他们所指向的盒子不存在。
队列名称的形式为
DIRECT=OS:foo\private$\MyQueue 并处于等待连接状态
我想寄给
DIRECT=OS:bar\private$\MyQueue
主机文件中的条目是否足够,或者如果没有,我可以这样做吗?如果可能的话,我不想创建一个名为的服务器和一个接收消息并将它们转发到正确的服务器的进程
我尝试了上面建议的想法,即使用正确的 IP 地址将不正确的条目添加到 Hosts 文件中。这导致消息被发送到远程计算机,但我认为 WCF 丢弃了它们,因为它们没有正确的端点地址。
如果您不想丢失消息,不推荐!对我来说幸运的是,这些并不重要,所以值得一试。
那好吧
莫丹,
几年前我经历过类似的事情,我能找到的唯一方法是设置盒子和 Q(在 VM 中)并将它们转发到正确的队列。也许您可以删除并重新发送带有修复程序的消息?那可能吗?不幸的是,不认为有解决这个问题的好方法。
-布莱恩