2016-11-01 2 views
1

Я следую руководству по запуску NServiceBus (версия 5), и я получаю следующую ошибку.NServiceBus не смог принять сообщение

Когда клиент отправляет команду серверу, на сервере возникают проблемы с получением сообщения. Код в порядке, потому что работает тот же самый код на другом компьютере. Так что чего-то не хватает на моей машине.

я выполнить эту команду, как указано в руководстве:

DISM.exe/Интернет/Norestart/английский/Enable-Feature/все/FeatureName: MSMQ-сервер

Но он все еще не работает.

2016-11-01 19: 50: 47,316 ОШИБКА ServiceBus.Transports.Msmq.MsmqDequeueStrategy Ошибка при приеме сообщений. System.Transactions.TransactionAbortedException: транзакция прервана. ---> System.Transactions.TransactionManagerCommunicationException: связь с основным менеджером транзакций завершилась неудачно. ---> System.Runtime.InteropServices.COMException: Менеджер транзакций недоступен. (Исключение из HRESULT: 0x8004D01B) в System.Transactions.Oletx.IDtcProxyShimFactory.ConnectToProxy (String NodeName, Guid resourceManagerIdentifier, IntPtr managedIdentifier, Boolean & NodeName Матчи, UInt32 & whereaboutsSize, CoTaskMemHandle & whereaboutsBuffer, IResourceManagerShim & resourceManagerShim) в System.Transactions .Oletx.DtcTransactionManager.Initialize() --- Конец внутренней трассировки стека исключений --- в system.Transactions.Oletx.OletxTransactionManager.ProxyException (COMExcept иона COMException) на System.Transactions.Oletx.DtcTransactionManager.Initialize () в System.Transactions.Oletx.DtcTransactionManager.get_ProxyShimFac тори() в System.Transactions.Oletx.OletxTransactionManager.CreateTransaction (Transa ctionOptions свойства) в System.Transactions.TransactionStatePromoted.EnterState (InternalTransactio п ТХ) --- Конец внутренней трассировки стека исключений --- в System.Transactions.TransactionStateAborted.CheckForFinishedTransaction (В ternalTransaction ТХ) в System.Transactions.EnlistableStates.Promote (InternalTransaction ТХ) в System.Transactions.Transaction.Promote() в System.Transactions.TransactionInterop.ConvertToOletxTransaction (TRANSACTI на транзакция) at System.Transactions.TransactionInterop.GetDtcTransaction (Сделка транс действие) на System.Messaging.MessageQueue.StaleSafeReceiveMessage (UInt32 тайм-аут, Int3 2 действия, MQPROPS свойства, NativeOverlapped * перекрывается, ReceiveCallback Rece iveCallback, CursorHandle cursorHandle, IntPtr сделки) в System.Messaging.MessageQueue.ReceiveCurrent (TimeSpan тайм-аута, Int32 Actio н, CursorHandle курсор, MessagePropertyFilter фильтр, MessageQueueTransaction в ternalTransaction, MessageQueueTransactionType transactionType) на System.Messaging.MessageQueue.Receive (тайм-аут TimeSpan, MessageQueueTransa ctionType transactionType) в NServiceBus.Transports.Msmq.MsmqDequeueStrategy .b__12_1() в C: \ Bu i ldAgent \ work \ 3206e2123f54fce4 \ src \ NServiceBus.Core \ Transports \ Msmq \ MsmqDequeueS trategy.CS: линия 248 на NServiceBus.Transports.Msmq.MsmqDequeueStrategy.TryReceiveMessage (Func`1 г eceive, сообщение & сообщение) в C: \ BuildAgent \ работы \ 3206e2123f54fce4 \ SRC \ NServiceBus .Core \ Транспорты \ Msmq \ MsmqDequeueStrategy. cs: строка 332

ответ

2

Для меня проблема заключалась в том, что служба Distributed Transaction Coordinator была отключена. После его включения все работает так, как ожидалось.