私は現在、VB.NET 2.0のレガシープロジェクトに取り組んでいます。 プロジェクトには、トランザクションを組み込んでいない非常に面白いDAL層があります。 とにかく、プログラムのいくつかの部分をトランザクションにするのは私の仕事ですが、 はDALレイヤーコードにアクセスできません。 私は単一のTransactionScopeの中にコードのセクション全体を置こうとしています。TransactionScope内のSqlException
ここに問題があります: DALレイヤーの深いところからSqlExceptionがスローされると、トランザクションは常にロールバックされます。同じTransactionScope内で例外を捕捉して処理したとしても。
私の質問:これは正常な動作ですか? これについて私ができることは何ですか?
私はそれは例外がこれらの範囲内で取り扱われている場合、例外がのTransactionScopeの境界を越えて投げではなく、取得したときにトランザクションがロールバックされていることを、通常のだと思います!
ご協力いただければ幸いです。
編集:SqlExceptionは実際にはSystem.Data.Common.SqlCommand内からスローされているため、実際に発生することはありません。
よろしく、 LDX