次の方法で共有


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

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 を使用する可能性がさらに低下します。