【发布时间】:2012-02-03 16:18:49
【问题描述】:
我们正在从非集群切换到 2 节点集群 MSMQ Windows Server 2008 R2 SP1 Enterprise 环境。以前,当它是非集群时,我们编写了一个 .NET 3.5 C# Windows 窗体应用程序来帮助我们管理我们的环境(因此它执行诸如创建具有正确权限的队列、读取消息、转发消息等任务)。我想让这个应用程序与我们的新集群一起工作。
根据这些文章,
http://blog.terranspot.com/2011/07/accessing-microsoft-message-queuing.html
http://blogs.msdn.com/b/johnbreakwell/archive/2008/02/18/clustering-msmq-applications-rule-1.aspx
我知道我需要将应用程序添加为集群上的资源,因为当我不需要时,我正在访问节点的 MSMQ 实例。为了帮助调试,我关闭了本地 MSMQ 服务。然而,无论我做什么,程序都会不断尝试访问节点的实例。我将它添加为应用程序资源(使用命令行“Q:\QueueManagerConsole.exe”。Q:\ 是在故障转移集群的 2 个节点之间共享的磁盘),但是当我运行它时通过 Windows 资源管理器,它看不到集群实例,只有本地。我没有看到从故障转移群集管理器执行程序的方法,所以我不明白我做错了什么。我切换代码以通过“。”访问所有内容。 (所以 MessageQueue.GetPrivateQueuesByMachine(".")),据我所知,这是您访问本地队列的方式。有人可以解释一下吗,最好表现得好像我不知道自己在做什么一样。如果这是可能的,并且 b。如何正确地做到这一点?
【问题讨论】: