微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

“消息队列服务不可用”错误

如何解决“消息队列服务不可用”错误

我们有 MSMQ 和 Windows 服务。 Windows 服务侦听来自 MSMQ 的数据。参考下面的代码

                MessageQueue myQueue;
                myQueue = new MessageQueue(QueueName,QueueAccessMode.Receive);
                myQueue.ReceiveCompleted += new ReceiveCompletedEventHandler(MyReceiveCompleted);
                myQueue.BeginReceive();

它在独立机器上运行良好。 目前我们正在尝试为 Windows 服务和 MSMQ 实现高可用性。 使用 Windows Cluster 2019 - 主动被动。我们为服务创建了 3 个角色,第 1 个和第 2 个角色(根据业务需求有 2 种类型的服务)。 MSMQ 的第三个角色。

当我们进行故障转移时,我们收到错误“消息队列服务不可用”。

为了解决该问题,我们开发了仅用于列出队列名称的 Windows 应用程序

MessageQueue[] msgqueue = MessageQueue.GetPrivateQueuesByMachine("10.162.193.188"); foreach(msgqueue 中的 MessageQueue mq) { File.AppendAllText(LogFilepath,"MSMQ : " + mq.QueueName.ToString() + " - " + DateTime.Now.ToString() + "\n"); }

以上代码列出了 Windows 应用程序中的所有私有队列名称。在 windows 服务中抛出错误的地方

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。