更新:
好的,在过去我没有将msdtc设置为集群资源(doh!),我可以运行我的程序,一切看起来都很好,但我无法成功地向它发送消息。挖掘之后,我发现虽然私有队列是在集群的一个节点上创建的,但它们不在另一个节点上(我在命令提示符下运行nservicebus.host.exe),因此对使用集群名称的应用程序不可见。我试着从nservicebus.host.exe创建一个通用应用程序并将其添加到集群组中,但这只会使集群组下降。我的问题仍然是:是否有人在集群环境中成功运行了nservicebus?
我正在尝试将nservicebus安装到群集win2k3主机上。提供的配置实用程序(runner.exe)抛出了一些我没有捕获到的错误,现在运行正常。运行nservicebus.host.exe时,我会重复出现此错误:
System.Transactions.TransactionBortedException:事务已中止。--->system.transactions.transactionmanagercommunicationexception:与基础事务管理器的通信失败。--->system.runtime.interopservices.comexception(0x8004d01b):事务管理器不可用。(hresult的异常:0x8004d01b)
在system.transactions.oletx.idtcproxysimfactory.connecttoproxy(字符串节点名、guid resourcemanageridentifier、intptr managedidentifier、boolean&nodenamematches、uint32&whereboutsssize、cotaskmemhandle&whereboutsbuffer、iresourcemanagershim&resourcemanagershim)
位于system.transactions.oletx.dtcTransactionManager.initialize()
---内部异常堆栈跟踪结束---
在system.transactions.oletx.oletxtransactionmanager.proxyException(ComException ComException)
位于system.transactions.oletx.dtcTransactionManager.initialize()
在system.transactions.oletx.dtcTransactionManager.get_proxysimfactory()
在system.transactions.oletx.oletxtransactionmanager.createtransaction(transactionoptions属性)
在System.Transactions.TransactionStatePromoted.EnterState(内部事务发送)
---内部异常堆栈跟踪结束---
在System.Transactions.TransactionStateAborted.CheckForFinishedTransaction(内部事务发送)
在System.Transactions.EnlistableStates.Promote(内部事务发送)
在system.transactions.transaction.promote()
在system.transactions.transactioninterop.convertTooletXtransaction(事务事务)
在system.transactions.transactioninterop.getdtcTransaction(事务处理)
在System.Messaging.MessageQueue.StaleSafeReceiveMessage上(uint32超时、Int32操作、MQProps属性、NativeOverlapped*重叠、ReceiveCallback ReceiveCallback、游标句柄游标句柄、IntPtr事务)
位于System.Messaging.MessageQueue.ReceiveCurrent(TimeSpan超时、Int32操作、游标句柄游标、MessagePropertyFilter筛选器、MessageQueueTransaction InternalTransaction、MessageQueueTransactionType TransactionType)
在System.Messaging.MessageQueue.Receive(TimeSpan超时,MessageQueueTransactionType TransactionType)
在d:\buildagent-02\work\672d81652eaca4e1\src\impl\unicast\nservicebus.unicast.transport.msmq.msmqtransport.receiveMessageFromQueueAfterPeekwasSuccessful()中的nserviceBus.unicast.transport.msmq.msmqtransport.cs:行551
有没有人成功地将nservicebus放到集群服务器上,如果有,您是如何让它工作的?