マルチスレッドを扱っているときに、TransactionScope クラスを正しい方法でどのように使用するのか疑問に思っていました。
メイン スレッドで新しいスコープを作成し、いくつかのワーカー スレッドを生成して、これらをメイン スコープに参加させます。たとえば、スコープが完了しない場合、各ワーカーでロールバックが呼び出されるようにします。
内部で ThreadStaticAttribute を使用して TransactionScope について何かを読んだため、上記が不可能/非常に困難になりました-誰かがどちらの方法でも確認できますか? コードを同期方式で実行すると、ロールバックが機能します。つまり、内部トランザクションはメイン トランザクションに参加できますが、スレッド化された実行に切り替えた場合はできません。