错误NServiceBus.Transports.Msmq.MsmqDequeueStrategy-接收消息时出错

时间:2020-03-04 22:18:39

标签: c# nservicebus msmq msdtc

我的工作站上的事件查看器具有以下错误日志:

错误NServiceBus.Transports.Msmq.MsmqDequeueStrategy [(null)]-接收消息时出错。 System.Transactions.TransactionAbortedException:事务已中止。 ---> System.Transactions.TransactionManagerCommunicationException:与基础事务管理器的通信失败。 ---> System.Runtime.InteropServices.COMException:事务管理器不可用。 (来自HRESULT的异常:0x8004D01B) 在System.Transactions.Oletx.IDtcProxyShimFactory.ConnectToProxy(字符串nodeName,Guid resourceManagerIdentifier,IntPtrmanagedIdentifier,Boolean&nodeNameMatches,UInt32&whereaboutsSize,CoTaskMemHandle&whereaboutsBuffer,IResourceManagerShim&resourceManagerShim) 在System.Transactions.Oletx.DtcTransactionManager.Initialize() ---内部异常堆栈跟踪的结尾--- 在System.Transactions.Oletx.OletxTransactionManager.ProxyException(COMException comException)处 在System.Transactions.Oletx.DtcTransactionManager.Initialize() 在System.Transactions.Oletx.DtcTransactionManager.get_ProxyShimFactory() 在System.Transactions.Oletx.OletxTransactionManager.CreateTransaction(TransactionOptions属性) 在System.Transactions.TransactionStatePromoted.EnterState(InternalTransaction tx) ---内部异常堆栈跟踪的结尾--- 在System.Transactions.TransactionStateAborted.CheckForFinishedTransaction(InternalTransaction tx) 在System.Transactions.Transaction.Promote() 在System.Transactions.TransactionInterop.ConvertToOletxTransaction(交易事务) 在System.Transactions.TransactionInterop.GetDtcTransaction(交易事务) 在System.Messaging.MessageQueue.StaleSafeReceiveMessage处(UInt32超时,Int32操作,MQPROPS属性,NativeOverlapped *重叠,ReceiveCallback receiveCallback,CursorHandle cursorHandle,IntPtr事务) 在System.Messaging.MessageQueue.ReceiveCurrent处(TimeSpan超时,Int32操作,CursorHandle游标,MessagePropertyFilter过滤器,MessageQueueTransaction internalTransaction,MessageQueueTransactionType transactionType) 在System.Messaging.MessageQueue.Receive(TimeSpan超时,MessageQueueTransactionType transactionType) 在NServiceBus.Transports.Msmq.MsmqDequeueStrategy.TryReceiveMessage(Func`1 receive,Message&message)中的C:\ BuildAgent \ work \ 3206e2123f54fce4 \ src \ NServiceBus.Core \ Transports \ Msmq \ MsmpDequeueStrategy.cs:line332

事实:

任何人都可以建议有关如何检查/解决问题原因的指导吗?

1 个答案:

答案 0 :(得分:0)

经过漫长的艰苦工作后,我遇到的问题归结为权限问题。使用LocalSystem凭据的DTC中涉及的服务没有足够的权限,并且被服务器上实施的公司施加的策略阻止。

不幸的是,我只能通过使用具有足够权限来运行和管理所涉及服务(包括自定义服务)的帐户来找到替代方法或解决方法。

@gnud-非常感谢您的输入,这为我提供了调查的方向,并帮助我继续进行调查。感谢您的帮助。谢谢。