CommittableTransaction クラス

定義

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

public ref class CommittableTransaction sealed : System::Transactions::Transaction, IAsyncResult
public sealed class CommittableTransaction : System.Transactions.Transaction, IAsyncResult
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public sealed class CommittableTransaction : System.Transactions.Transaction, IAsyncResult
[System.Serializable]
public sealed class CommittableTransaction : System.Transactions.Transaction, IAsyncResult
type CommittableTransaction = class
    inherit Transaction
    interface IAsyncResult
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
type CommittableTransaction = class
    inherit Transaction
    interface IAsyncResult
[<System.Serializable>]
type CommittableTransaction = class
    inherit Transaction
    interface IAsyncResult
Public NotInheritable Class CommittableTransaction
Inherits Transaction
Implements IAsyncResult
継承
CommittableTransaction
属性
実装

注釈

CommittableTransaction クラスは、TransactionScope クラスが暗黙的に使用されるのと対照的に、アプリケーションがトランザクションを明示的に使用する方法を提供します。 TransactionScope クラスとは異なり、アプリケーション作成者はトランザクションをコミットまたは中止するために、具体的に Commit メソッドまたは Rollback メソッドを呼び出す必要があります。 ただし、トランザクションをコミットできるのは、トランザクションの作成者のみです。 したがって、 メソッドを介して取得されたコミット可能なトランザクションの Transaction.Clone コピーはコミットできません。

注意

アンビエント トランザクション コンテキストが自動的に管理されるように、 クラスを使用して TransactionScope 暗黙的なトランザクションを作成することをお勧めします。 複数の関数呼び出しまたは複数のスレッド呼び出しで同じトランザクションを使用する必要があるアプリケーションには、 クラスと DependentTransaction クラスも使用TransactionScopeする必要があります。 このモデルの詳細については、「 トランザクション スコープを使用した暗黙的なトランザクションの実装 」トピックを参照してください。

CommittableTransaction 作成しても、アンビエント トランザクションは自動的には設定されません。これは、コードが実行するトランザクションです。 アンビエント トランザクションを取得または設定するには、グローバル Transaction オブジェクトの静的Transaction.Currentプロパティを呼び出します。 アンビエント トランザクションの詳細については、「トランザクション スコープを使用した暗黙的なトランザクションの実装」トピックの「TransactionScopeOption を 使用したトランザクション フローの管理」セクションを参照してください。 アンビエント トランザクションが設定されていない場合、リソース マネージャーに対する操作はそのトランザクションの一部ではありません。 リソース マネージャーが適切なトランザクション コンテキストで動作するように、アンビエント トランザクションを明示的に設定およびリセットする必要があります。

CommittableTransactionがコミットされるまで、トランザクションに関係するすべてのリソースはロックされたままです。

CommittableTransaction オブジェクトは再利用できません。 コミットまたはロールバックされた後は、トランザクションで再度使用したり、現在のアンビエント トランザクション コンテキストとして設定したりすることはできません。

コンストラクター

CommittableTransaction()

CommittableTransaction クラスの新しいインスタンスを初期化します。

CommittableTransaction(TimeSpan)

指定した timeout 値を使用して、CommittableTransaction クラスの新しいインスタンスを初期化します。

CommittableTransaction(TransactionOptions)

指定したトランザクション オプションを使用して、CommittableTransaction クラスの新しいインスタンスを初期化します。

プロパティ

IsolationLevel

トランザクションの分離レベルを取得します。

(継承元 Transaction)
PromoterType

トランザクションを昇格するときに、Promote メソッドで返される byte[] の形式を一意に識別します。

(継承元 Transaction)
TransactionInformation

トランザクションの追加情報を取得します。

(継承元 Transaction)

メソッド

BeginCommit(AsyncCallback, Object)

非同期的にトランザクションをコミットする試みを開始します。

Clone()

トランザクションの複製を作成します。

(継承元 Transaction)
Commit()

トランザクションをコミットしようとします。

DependentClone(DependentCloneOption)

トランザクションの依存する複製を作成します。

(継承元 Transaction)
Dispose()

オブジェクトによって保持されているリソースを解放します。

(継承元 Transaction)
EndCommit(IAsyncResult)

非同期的にトランザクションをコミットする試みを終了します。

EnlistDurable(Guid, IEnlistmentNotification, EnlistmentOptions)

2 フェーズ コミットをサポートし、トランザクションに参加する永続的リソース マネージャーを参加させます。

(継承元 Transaction)
EnlistDurable(Guid, ISinglePhaseNotification, EnlistmentOptions)

単一フェーズ コミットの最適化をサポートし、トランザクションに参加する永続的リソース マネージャーを参加させます。

(継承元 Transaction)
EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification)

昇格可能な単一フェーズの参加リスト (PSPE) を使用して、内部トランザクションを持つリソース マネージャーを参加させます。

(継承元 Transaction)
EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid)

昇格可能な単一フェーズの参加リスト (PSPE) を使用して、内部トランザクションを持つリソース マネージャーを参加させます。

(継承元 Transaction)
EnlistVolatile(IEnlistmentNotification, EnlistmentOptions)

トランザクションに参加する 2 フェーズ コミットをサポートしている揮発性リソース マネージャーを参加させます。

(継承元 Transaction)
EnlistVolatile(ISinglePhaseNotification, EnlistmentOptions)

単一フェーズ コミットの最適化をサポートし、トランザクションに参加する揮発性リソース マネージャーを参加させます。

(継承元 Transaction)
Equals(Object)

このトランザクションと指定したオブジェクトが等しいかどうかを判断します。

(継承元 Transaction)
GetHashCode()

このインスタンスのハッシュ コードを返します。

(継承元 Transaction)
GetPromotedToken()

トランザクションが byte[] 昇格されたときに メソッドによって Promote 返される を取得します。

(継承元 Transaction)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
PromoteAndEnlistDurable(Guid, IPromotableSinglePhaseNotification, ISinglePhaseNotification, EnlistmentOptions)

2 フェーズ コミットをサポートし、トランザクションに参加する永続的リソース マネージャーを昇格および参加させます。

(継承元 Transaction)
Rollback()

トランザクションをロールバック (中止) します。

(継承元 Transaction)
Rollback(Exception)

トランザクションをロールバック (中止) します。

(継承元 Transaction)
SetDistributedTransactionIdentifier(IPromotableSinglePhaseNotification, Guid)

MSDTC でないプロモーターによって生成される分散トランザクションの識別子を設定します。

(継承元 Transaction)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

イベント

TransactionCompleted

トランザクションが完了したことを示します。

(継承元 Transaction)

明示的なインターフェイスの実装

IAsyncResult.AsyncState

BeginCommit(AsyncCallback, Object) メソッド呼び出しの最後のパラメーターに指定されたオブジェクトを取得します。

IAsyncResult.AsyncWaitHandle

非同期操作が完了するまで待機するために使用する WaitHandle を取得します。

IAsyncResult.CompletedSynchronously

非同期のコミット操作が同期的に完了したかどうかを示す値を取得します。

IAsyncResult.IsCompleted

非同期のコミット操作が完了したかどうかを示す値を取得します。

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

このトランザクションのシリアル化に必要なデータを含む SerializationInfo を取得します。

(継承元 Transaction)

適用対象

スレッド セーフ

この型はスレッド セーフです。

こちらもご覧ください