System.Transactions 名前空間

独自のトランザクション アプリケーションとリソース マネージャーを記述するクラスが含まれます。 具体的には、1 つまたは複数の参加要素を含むローカル トランザクションまたは分散トランザクションを作成し、参加できます。

クラス

CommittableTransaction

コミットできるトランザクションを示します。

DependentTransaction

トランザクションの作業に関してアプリケーションが停止するまで、トランザクションをコミットできないようにする、トランザクションの複製を記述します。 このクラスは継承できません。

DistributedTransactionPermission

トランザクションの管理を MSDTC にエスカレートする場合に、System.Transactions が要求するアクセス許可。 このクラスは継承できません。

DistributedTransactionPermissionAttribute

DistributedTransactionPermission のセキュリティ アクションを、宣言セキュリティを使用してコードに適用できるようにします。 このクラスは継承できません。

Enlistment

トランザクションの最終フェーズにおいて、トランザクションに参加している参加要素とトランザクション マネージャーの間の通信を容易にします。

PreparingEnlistment

トランザクションの準備フェーズにおいて、参加するトランザクションの参加要素とトランザクション マネージャーの間の通信を容易にします。

SinglePhaseEnlistment

SinglePhaseCommit(SinglePhaseEnlistment) 通知を受け取ったときに、単一フェーズ コミットに参加している参加要素とトランザクション マネージャーの間の通信を容易にする一連のコールバックを提供します。

SubordinateTransaction

処理を代行させることのできる非ルート トランザクションを表します。 このクラスは継承できません。

Transaction

トランザクションを表します。

TransactionAbortedException

既にロールバックされているトランザクションを操作しようとした場合や、トランザクションをコミットしようとしたときにトランザクションが中止された場合にスローされる例外。

TransactionEventArgs

トランザクション イベントである DistributedTransactionStartedTransactionCompleted に関するデータを提供します。

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 の詳細については、「 トランザクション処理」を参照してください。