问题描述
我们有 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 (将#修改为@)