2

このエラーは、1 日を通して散発的に発生します。スタックによると、入隊中にスローされます。毎回このエラーが発生する場合は、トラブルシューティングして修正できます (通常はファイアウォールまたは LMHOSTS の問題)。それはランダムに起こっているので、私は一生、これがどうなるかを考えることはできません.

何か案は?

System.Transactions.TransactionManagerCommunicationException: Communication with the underlying transaction manager has failed. ---> System.Runtime.InteropServices.COMException (0x80004005): Error HRESULT E_FAIL has been returned from a call to a COM component.

   at System.Transactions.Oletx.IDtcProxyShimFactory.ReceiveTransaction(UInt32 propgationTokenSize, Byte[] propgationToken, IntPtr managedIdentifier, Guid& transactionIdentifier, OletxTransactionIsolationLevel& isolationLevel, ITransactionShim& transactionShim)

   at System.Transactions.TransactionInterop.GetOletxTransactionFromTransmitterPropigationToken(Byte[] propagationToken)

   --- End of inner exception stack trace ---

   at System.Transactions.TransactionInterop.GetOletxTransactionFromTransmitterPropigationToken(Byte[] propagationToken)

   at System.Transactions.TransactionStatePSPEOperation.PSPEPromote(InternalTransaction tx)

   at System.Transactions.TransactionStateDelegatedBase.EnterState(InternalTransaction tx)

   at System.Transactions.EnlistableStates.Promote(InternalTransaction tx)

   at System.Transactions.Transaction.Promote()

   at System.Transactions.TransactionInterop.ConvertToOletxTransaction(Transaction transaction)

   at System.Transactions.TransactionInterop.GetExportCookie(Transaction transaction, Byte[] whereabouts)

   at System.Data.SqlClient.SqlInternalConnection.GetTransactionCookie(Transaction transaction, Byte[] whereAbouts)

   at System.Data.SqlClient.SqlInternalConnection.EnlistNonNull(Transaction tx)

   at System.Data.SqlClient.SqlInternalConnection.Enlist(Transaction tx)

   at System.Data.SqlClient.SqlInternalConnectionTds.Activate(Transaction transaction)

   at System.Data.ProviderBase.DbConnectionInternal.ActivateConnection(Transaction transaction)

   at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)

   at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)

   at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)

   at System.Data.SqlClient.SqlConnection.Open()
4

3 に答える 3

0

通常、問題があることはすぐにわかります。ファイアウォールが関係していて、RPCポート範囲を構成しましたか?もしそうなら、開いているファイアウォールポートとRPCポート範囲の構成の間に(わずかな)不一致があるのではないかと思います。たとえば、RPC範囲には、ファイアウォールで許可されているよりも1つ多いポートがあります。

RPCポートはランダムに割り当てられ、アスペクトが一致するようにエラーがランダムに発生するとおっしゃっています。この問題は、RPC通信用に1つのファイアウォールポートが(ランダムに)選択された場合にのみ発生するため、断続的な問題を説明します。

また、クラスター化または負荷分散されている場合は、すべてのサーバーが同じように(そして適切に)構成されていることを確認してください。問題が発生しているのは1台のサーバーだけである可能性があります。

于 2009-12-09T05:48:37.313 に答える
0

あなたはここを見たことがありますか?私はそれがあなたにとって答えがあるかもしれない#1スポットの最初のリンクだと思いますか?(ここ)、それから判断すると、MSDTC での認証失敗のようです。MSDTC とトランザクションに関するブログへの別のリンクを次に示します。

これがお役に立てば幸いです。よろしくお願いします、トム。

于 2009-12-08T23:36:49.390 に答える