1

運用サーバーでランダムに発生する DTC エラーがあります。Windows 2008R2 サーバーの IIS7 でホストされている WCF サービスと、同じサーバーでホストされている Windows サービスとしてホストされている別の WCF サービスと、別のクラスター サーバー Windows 2003 でホストされているデータベース サーバー SQL 2008 があります。トランザクションは、IIS でホストされている wcf サービスから、Windows サービスとしてホストされている別の 4 つの wcf サービスに、次の順序で伝播します。

クライアント -> WCF サービス (IIS) -> WCF サービス 1 (winService) -> WCF サービス 2 (winService) -> WCF サービス 3 (winService) -> WCF サービス 4 (winService)

すべてのサービス間のバインディングは net.tcp バインディングです。私の問題は、このエラーがランダムに発生することです。なぜ、またはどのようにトラブルシューティングを行うのかわかりません。エラーは次のとおりです。

System.ServiceModel.FaultException`1[System.ServiceModel.ExceptionDetail]: アカウント エントリが保存されませんでした... Microsoft 分散トランザクション コーディネーター (MS DTC) が分散トランザクションをキャンセルしました。(Fault Detail は、IncludeExceptionDetailInFaults=true によって作成された可能性が高い ExceptionDetail と同じです。その値は次のとおりです: System.Exception: Account Entry was not saved ... The Microsoft Distributed Transaction Coordinator (MS DTC) has cancel the distributed transaction. -> System.Data.SqlClient.SqlException: The Microsoft Distributed Transaction Coordinator (MS DTC) has cancel the distributed transaction. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser .ThrowExceptionAndWarning(TdsParserStateObject stateObj) システムで。

DTC 構成を確認し、インバウンドとアウトバウンドを許可するチェックボックスをオンにし、認証なしを選択する必要がありますが、エラーがランダムに表示され、この問題を解決するためにサーバーを再起動する必要がある場合があります。それを理解するのを手伝ってもらえますか?どうすれば対処できますか?

ありがとう

4

0 に答える 0