System.Transactions 名前空間
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
独自のトランザクション アプリケーションとリソース マネージャーを記述するクラスが含まれます。 具体的には、1 つまたは複数の参加要素を含むローカル トランザクションまたは分散トランザクションを作成し、参加できます。
クラス
CommittableTransaction |
コミットできるトランザクションを示します。 |
DependentTransaction |
トランザクションの作業に関してアプリケーションが停止するまで、トランザクションをコミットできないようにする、トランザクションの複製を記述します。 このクラスは継承できません。 |
DistributedTransactionPermission |
トランザクションの管理を MSDTC にエスカレートする場合に、System.Transactions が要求するアクセス許可。 このクラスは継承できません。 |
DistributedTransactionPermissionAttribute |
DistributedTransactionPermission のセキュリティ アクションを、宣言セキュリティを使用してコードに適用できるようにします。 このクラスは継承できません。 |
Enlistment |
トランザクションの最終フェーズにおいて、トランザクションに参加している参加要素とトランザクション マネージャーの間の通信を容易にします。 |
PreparingEnlistment |
トランザクションの準備フェーズにおいて、参加するトランザクションの参加要素とトランザクション マネージャーの間の通信を容易にします。 |
SinglePhaseEnlistment |
SinglePhaseCommit(SinglePhaseEnlistment) 通知を受け取ったときに、単一フェーズ コミットに参加している参加要素とトランザクション マネージャーの間の通信を容易にする一連のコールバックを提供します。 |
SubordinateTransaction |
処理を代行させることのできる非ルート トランザクションを表します。 このクラスは継承できません。 |
Transaction |
トランザクションを表します。 |
TransactionAbortedException |
既にロールバックされているトランザクションを操作しようとした場合や、トランザクションをコミットしようとしたときにトランザクションが中止された場合にスローされる例外。 |
TransactionEventArgs |
トランザクション イベントである DistributedTransactionStarted と TransactionCompleted に関するデータを提供します。 |
TransactionException |
新しい作業を受け入れないトランザクションで作業を試行したときにスローされる例外。 |
TransactionInDoubtException |
未決定のトランザクションを操作しようとした場合や、トランザクションをコミットしようとしたときにトランザクションが InDoubt になった場合にスローされる例外。 |
TransactionInformation |
トランザクションに関する追加情報を提供します。 |
TransactionInterop |
MSDTC、COM+、または System.EnterpriseServices とやり取りするために以前記述されたコンポーネントと System.Transactions との対話を容易にします。 このクラスは継承できません。 |
TransactionManager |
トランザクション管理に使用するメソッドを格納します。 このクラスは継承できません。 |
TransactionManagerCommunicationException |
この例外は、リソース マネージャーがトランザクション マネージャーと通信できない場合にスローされます。 |
TransactionPromotionException |
上位変換が失敗した場合にスローされる例外。 |
TransactionScope |
コード ブロックをトランザクションにします。 このクラスは継承できません。 |
構造体
TransactionOptions |
トランザクション動作を指定する追加情報を格納します。 |
インターフェイス
IDtcTransaction |
DTC トランザクションを説明します。 |
IEnlistmentNotification |
リソース マネージャーが参加の登録時にトランザクション マネージャーに対して 2 フェーズ コミット通知コールバックを提供するために実装する必要があるインターフェイスについて説明します。 |
IPromotableSinglePhaseNotification |
リソース マネージャー内部の非分散トランザクションのコミット デリゲートとして機能するオブジェクトを示します。 |
ISimpleTransactionSuperior |
ルート トランザクションではないが、MSDTC で管理するためにエスカレートできるトランザクションを表します。 |
ISinglePhaseNotification |
トランザクションに参加するための単一フェーズ コミットの最適化をサポートしているリソース オブジェクトについて説明します。 |
ITransactionPromoter |
必要に応じて、MSDTC で管理するためにエスカレートできる、既存のトランザクションの処理を代行させるトランザクションを記述します。 |
列挙型
DependentCloneOption |
作成する依存トランザクションの種類を制御します。 |
EnlistmentOptions |
準備フェーズにおいて、オブジェクトをトランザクションに参加させるかどうかを判断します。 |
EnterpriseServicesInteropOption |
分散トランザクションが COM+ トランザクションとどのようにやり取りするかを指定します。 |
IsolationLevel |
トランザクションの分離レベルを指定します。 |
TransactionScopeAsyncFlowOption |
スレッドの継続の間で TransactionScope に対するトランザクション フローが有効になっているかを指定します。 |
TransactionScopeOption |
トランザクション スコープを作成するための追加オプションを提供します。 |
TransactionStatus |
分散トランザクションの現在のステータスを記述します。 |
代理人
HostCurrentTransactionCallback |
ホスト環境が Current の独自の既定概念を提供するための機構を用意します。 |
TransactionCompletedEventHandler |
TransactionCompleted クラスの Transaction イベントを処理するメソッドを表します。 |
TransactionStartedEventHandler |
DistributedTransactionStarted クラスの TransactionManager イベントを処理するメソッドを表します。 |
注釈
インフラストラクチャは System.Transactions
、SQL Server、ADO.NET、MSMQ、Microsoft 分散トランザクション コーディネーター (MSDTC) で開始されたトランザクションをサポートすることで、プラットフォーム全体でトランザクション プログラミングをシンプルかつ効率的にします。 クラスに Transaction 基づく明示的なプログラミング モデルと、 クラスを使用 TransactionScope した暗黙的なプログラミング モデルの両方を提供します。このモデルでは、トランザクションはインフラストラクチャによって自動的に管理されます。 開発には、より簡単な暗黙的なモデルを使用することを強くお勧めします。 作業を開始するには、「 トランザクション スコープを使用した暗黙的なトランザクションの実装 」トピックを参照してください。 トランザクション アプリケーションの記述の詳細については、「トランザクション アプリケーションの 作成」を参照してください。
System.Transactions
には、リソース マネージャーを実装するための型も用意されています。 インフラストラクチャに System.Transactions
ネイティブなトランザクション マネージャーを使用すると、揮発性リソースまたは単一の永続リソース参加リストを使用して、効率的にコミットまたはロールバックできます。 リソース マネージャーの実装の詳細については、「リソース マネージャーの 実装」を参照してください。
また、トランザクション マネージャーは、追加の永続リソース マネージャーがトランザクションに参加するときに、DTC などのディスク ベースのトランザクション マネージャーを介して調整することで、ローカル トランザクションを分散トランザクションに透過的にエスカレートします。
System.Transactions
インフラストラクチャでは、主に 2 つの方法でパフォーマンスを向上させています。
動的エスカレーション。これは、インフラストラクチャが
System.Transactions
実際にトランザクションに必要な場合にのみ MSDTC を使用することを意味します。 この領域については、「 トランザクション管理 エスカレーション」トピックで詳しく説明します。昇格可能参加リスト。これにより、データベースなどのリソースが、トランザクションに参加している唯一のエンティティである場合に、トランザクションの所有権を取得できます。 後で必要に応じて、インフラストラクチャは
System.Transactions
トランザクションの管理を MSDTC にエスカレートできます。 これにより、MSDTC の使用頻度をさらに減らすことができます。 この領域については、「 単一フェーズ コミットと昇格可能な単一フェーズ通知を使用した最適化 」トピックで詳しく説明します。
名前空間の使用方法 System.Transactions
の詳細については、「 トランザクション処理」を参照してください。
.NET