2016-11-01 18 views
1

NServiceBusスタートガイド(バージョン5)に従っており、以下のエラーが表示されます。NServiceBusがメッセージを受信できません

クライアントがサーバーにコマンドを送信すると、サーバーはメッセージを受信するための問題があります。別のマシンの全く同じコードが動作しているので、コードは大丈夫です。私のマシンでは何かが欠けています。

Iチュートリアルに記載されているように、このコマンドを実行しなかった:

DISM.exe /オンライン/ NORESTART /英語/有効-特集/すべて/ FEATURENAME:MSMQ-Serverの

しかし、まだ動作していません。

2016年11月1日19:50:メッセージを受信する際の47.316 ERROR ServiceBus.Transports.Msmq.MsmqDequeueStrategyエラー。 System.Transactions.TransactionAbortedException:トランザクションがアボートしました。 ---> System.Transactions.TransactionManagerCommunicationException:基になるトランザクションマネージャとの通信に失敗しました。 ---> System.Runtime.InteropServices.COMException:トランザクションマネージャーが利用できません。 (HRESULTからの例外:0x8004D01B)System.Transactions.Oletx.IDtcProxyShimFactory.ConnectToProxyで (文字列のnodeName、のGUID resourceManagerIdentifier、のIntPtr managedIdentifier、ブール& nodenameは一致し、UInt32型& whereaboutsSize、CoTaskMemHandle & whereaboutsBuffer、IResourceManagerShim & resourceManagerShim) System.Transactionsので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は 2アクション、トランザクションのトランス アクション) は、プロパティをMQPROPS、NativeOverlapped *、ReceiveCallbackのRECE iveCallback、CursorHandle cursorHandle、のIntPtrトランザクション) System.Messaging.MessageQueue.ReceiveCurrentで重なっNServiceBus.Transports.Msmq.MsmqDequeueStrategyでSystem.Messaging.MessageQueue.Receive(のTimeSpanタイムアウト、MessageQueueTransa ctionType transactionType)で(のTimeSpanタイムアウト、のInt32 actio N、 ternalTransaction、MessageQueueTransactionType transactionTypeでCursorHandleカーソル、MessagePropertyFilterフィルタ、MessageQueueTransaction) .b__12_1()in C:\ Bu i ldAgent \ work \ 3206e2123f54fce4 \ src \ NServiceBus.Core \ Transports \ Msmq \ MsmqDequeueS trategy。CS:NServiceBus.Transports.Msmq.MsmqDequeueStrategy.TryReceiveMessageにおけるライン248 Cに(Func`1は eceive、メッセージ&メッセージをR):\ BuildAgent \作業\ 3206e2123f54fce4 \ SRC \ NServiceBus .Core \トランスポート\ MSMQ \ MsmqDequeueStrategy。 cs:行332

答えて

2

私の問題は、サービス分散トランザクションコーディネーターがオフになっていたことでした。それをオンにした後、すべてが期待通りに機能します。

関連する問題