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 |
Transaction クラスのTransactionCompleted イベントを処理するメソッドを表します。 |
| TransactionStartedEventHandler |
TransactionManager クラスのDistributedTransactionStarted イベントを処理するメソッドを表します。 |
注釈
System.Transactions インフラストラクチャでは、SQL Server、.NET ADO、MSMQ、およびMicrosoft 分散トランザクション コーディネーター (MSDTC) で開始されるトランザクションをサポートすることで、プラットフォーム全体でトランザクション プログラミングを簡単かつ効率的にします。
Transaction クラスに基づく明示的なプログラミング モデルと、TransactionScope クラスを使用した暗黙的なプログラミング モデルの両方が提供されます。このモデルでは、トランザクションがインフラストラクチャによって自動的に管理されます。 開発には、より簡単な暗黙的なモデルを使用することを強くお勧めします。 トランザクション アプリケーションの記述の詳細については、「トランザクション アプリケーション の記述」を参照してください。
System.Transactions には、リソース マネージャーを実装するための型も用意されています。
System.Transactions インフラストラクチャにネイティブなトランザクション マネージャーを使用すると、揮発性リソースまたは 1 つの永続的なリソース参加リストを効率的にコミットまたはロールバックできます。
また、トランザクション マネージャーは、追加の永続リソース マネージャーがトランザクションに参加するときに、DTC などのディスク ベースのトランザクション マネージャーを使用して調整することで、ローカル トランザクションを分散トランザクションに透過的にエスカレートします。
System.Transactions インフラストラクチャによってパフォーマンスが向上する主な方法は 2 つあります。
動的エスカレーション。つまり、
System.Transactionsインフラストラクチャは、トランザクションに実際に必要な場合にのみ MSDTC を使用します。昇格可能な参加リスト。データベースなどのリソースがトランザクションに参加している唯一のエンティティである場合、トランザクションの所有権を取得できます。 後で必要に応じて、
System.Transactionsインフラストラクチャはトランザクションの管理を MSDTC にエスカレートできます。 これにより、MSDTC を使用する可能性がさらに低下します。