.NET 4プロジェクトでTransactionScopeに問題があります。C#、Linq2Sql、TransactionScope、 "Transaction has aborted。"、msdtc、sqlserver 2005
DALをドメインに分割しました。つまり、同じデータベースを指す異なるLinq2Sql DataContextがあります。
同じTransactionScope内で複数のDataContextに挿入/更新すると、ローカルとサーバーの両方でmsdtcトランザクションが即時にポップアップ表示され、1-2回だけハングアップすると問題が発生しますt.Complete()およびその後の暗黙の.Disposeが生成され、Exception "Transaction has aborted"が生成されるまで、コードは実行を継続します。
我々はすべて許可するように、両方のローカルおよびサーバー上でMSDTC設定した、認証なし、完全なトレースレベルは、まだ関連情報がdtctrace.log
から来ていない、私はそれがでキックするMSDTCのための標準的な手順だと思いますより多くのデータベース接続が開始されたとき(同じデータベースであっても)、タイムアウトが発生するのはなぜですか?操作は矛盾していないため、ドメイン内にデッドロックが発生する可能性はありませんか?
は、広範囲にここにいくつかのベテランの経験のための希望をGoogleで検索してテストしました:)
これを避けるために、単一のdatacontextに移動しました。あなたの答えをありがとう。 – MrSmith