2016-11-01 4 views
1

NServiceBus 시작 안내서 (버전 5)를 따르고 있으며 아래 오류가 나타납니다.NServiceBus 메시지를 수신 할 수 없습니다.

클라이언트가 서버에 명령을 보내면 서버에서 메시지를받을 문제가 있습니다. 다른 컴퓨터에서 똑같은 코드가 작동하기 때문에이 코드는 괜찮습니다. 그래서 내 컴퓨터에 뭔가가 없습니다.

DISM.exe/온라인/NORESTART/영어/사용-기능/모든/FeatureName : 튜토리얼에서 언급 한 바와 같이

내가이 명령을 실행 않았다 MSMQ-서버

그러나 여전히 작동하지 않습니다. 50 :

2016년 11월 1일 19 메시지를받는 47.316 ERROR ServiceBus.Transports.Msmq.MsmqDequeueStrategy 오류가 발생했습니다. System.Transactions.TransactionAbortedException : 트랜잭션이 중단되었습니다. ---> System.Transactions.TransactionManagerCommunicationException : 기본 트랜잭션 관리자와의 통신에 실패했습니다. ---> System.Runtime.InteropServices.COMException : 트랜잭션 관리자를 사용할 수 없습니다. (whereaboutsSize, CoTaskMemHandle & whereaboutsBuffer, IResourceManagerShim & resourceManagerShim 문자열 여기서 nodeName, Guid를 resourceManagerIdentifier, managedIdentifier을 IntPtr 부울 여기서 nodeName 매치 &, UINT32 &)에서 System.Transactions를 System.Transactions.Oletx.IDtcProxyShimFactory.ConnectToProxy에서 (0x8004D01B HRESULT에서 예외) System.Transactions.Oletx.DtcTransactionManager.Initialize에서 system.Transactions.Oletx.OletxTransactionManager.ProxyException (COMExcept 이온 comException) 에서 .Oletx.DtcTransactionManager.Initialize() --- 내부 예외 스택 추적 --- 끝 () at System.Transactions.Oletx.DtcTransactionManager.get_ProxyShimFac System.Transactions.TransactionStatePromoted.EnterState (InternalTransactio N TX) --- 내부 예외 스택 추적 --- 끝에서 에서 System.Transactions.Oletx.OletxTransactionManager.CreateTransaction (TRANSA ctionOptions 특성) 에 토리() System.Transactions.TransactionStateAborted.CheckForFinishedTransaction System.Transactions.TransactionInterop.ConvertToOletxTransaction (Transacti 에서 System.Transactions.Transaction.Promote()에서 System.Transactions.EnlistableStates.Promote (InternalTransaction의 TX)에서 에 ( ternalTransaction 텍사스) 트랜잭션) at System.Transactions.TransactionInterop.GetDtcTransaction (System.Messaging.MessageQueue.StaleSafeReceiveMessage (UINT32 시간 제한, INT3 이 조치에 거래 트랜스 행동) 속성을 MQPROPS, NativeOverlapped *, ReceiveCallback의 RECE iveCallback, CursorHandle cursorHandle, IntPtr입니다 거래) System.Messaging.MessageQueue.ReceiveCurrent에서 중복 NServiceBus.Transports.Msmq.MsmqDequeueStrategy에서 (타임 아웃 시간 범위, INT32의 actio N, CursorHandle 커서 MessagePropertyFilter 필터 ternalTransaction에 MessageQueueTransaction, MessageQueueTransactionType transactionType) System.Messaging.MessageQueue.Receive에서 (타임 아웃 시간 범위, MessageQueueTransa ctionType transactionType) .b__12_1() in C : \ Bu i ldAgent \ work \ 3206e2123f54fce4 \ src \ NServiceBus.Core \ Transports \ Msmq \ MsmqDequeueS trategy.CS는 : 라인 248 NServiceBus.Transports.Msmq.MsmqDequeueStrategy.TryReceiveMessage에서 C에서 (Func`1이 eceive, 메시지 & 메시지 R) : \ BuildAgent 작업 \ \ 3206e2123f54fce4 \ SRC \ NServiceBus .Core \ 수송선 \ MSMQ \ MsmqDequeueStrategy. cs : line 332

답변

2

제게는 Distributed Transaction Coordinator 서비스가 꺼져 있다는 것이 었습니다. 모든 것을 켜면 예상대로 작동합니다.