更新:好的,在克服了我没有将 MSDTC 设置为集群资源(doh!)的事实之后,我能够运行我的程序并且一切看起来都很好,但是我无法成功地向它发送消息。挖掘后我发现,虽然私有队列是在集群的一个节点上创建的,但它们不在另一个节点上(我从命令提示符运行 NServiceBus.Host.exe),因此对使用集群的应用程序不可见姓名。我尝试从 NServiceBus.Host.exe 创建一个通用应用程序并将其添加到集群组,但这只是导致集群组关闭。我的问题仍然是:有人在集群环境中成功运行 NServiceBus 吗?
我正在尝试将 NServiceBus 安装到群集的 win2k3 主机上。提供的配置实用程序 (runner.exe) 抛出了一些我没有发现的错误,现在它可以正常运行。运行 NServiceBus.Host.exe 时,我反复收到此错误:
System.Transactions.TransactionAbortedException:事务已中止。---> System.Transactions.TransactionManagerCommunicationException:与底层事务管理器的通信失败。---> System.Runtime.InteropServices.COMException (0x8004D01B):事务管理器不可用。(来自 HRESULT 的异常:0x8004D01B)在 System.Transactions.Oletx.IDtcProxyShimFactory.ConnectToProxy(字符串节点名,Guid resourceManagerIdentifier,IntPtr managedIdentifier,Boolean& nodeNameMatches,UInt32& whereaboutsSize,CoTaskMemHandle& whereaboutsBuffer,IResourceManagerShim&resourceManagerShim)在 System.Transactions.Oletx.DtcTransactionManager。 ) --- 内部异常堆栈跟踪结束 --- 在 System.Transactions.Oletx.OletxTransactionManager。
有没有人成功地将 NServiceBus 放到集群服务器上,如果是,你是如何让它工作的?