CommittableTransaction CommittableTransaction CommittableTransaction CommittableTransaction Class

定義

コミットできるトランザクションを示します。Describes a committable transaction.

public ref class CommittableTransaction sealed : System::Transactions::Transaction, IAsyncResult, IDisposable, System::Runtime::Serialization::ISerializable
[System.Serializable]
public sealed class CommittableTransaction : System.Transactions.Transaction, IAsyncResult, IDisposable, System.Runtime.Serialization.ISerializable
type CommittableTransaction = class
    inherit Transaction
    interface ISerializable
    interface IDisposable
    interface IAsyncResult
Public NotInheritable Class CommittableTransaction
Inherits Transaction
Implements IAsyncResult, IDisposable, ISerializable
継承
CommittableTransactionCommittableTransactionCommittableTransactionCommittableTransaction
属性
実装

次の例は、2 つの新しいインスタンスを作成します。CommittableTransactionをコミットし、それぞれ戻るには、します。The following sample creates two new instances of CommittableTransaction, commits and rolls back them respectively.

注釈

CommittableTransaction クラスは、TransactionScope クラスが暗黙的に使用されるのと対照的に、アプリケーションがトランザクションを明示的に使用する方法を提供します。The CommittableTransaction class provides an explicit way for applications to use a transaction, as opposed to using the TransactionScope class implicitly. TransactionScope クラスとは異なり、アプリケーション作成者はトランザクションをコミットまたは中止するために、具体的に Commit メソッドまたは Rollback メソッドを呼び出す必要があります。Unlike the TransactionScope class, the application writer needs to specifically call the Commit and Rollback methods in order to commit or abort the transaction. ただし、トランザクションの作成者のみがトランザクションをコミットすることができます。However, only the creator of a transaction can commit the transaction. を通じて、コミット可能なトランザクションのコピーを取得するため、Cloneメソッドはコミットされません。Therefore, copies of a committable transaction, obtained through the Clone method are not committable.

注意

使用して暗黙のトランザクションを作成することをお勧め、TransactionScopeクラスのアンビエント トランザクション コンテキストが自動的に管理できるようにします。We recommend that you create implicit transactions using the TransactionScope class, so that the ambient transaction context is automatically managed for you. 使用することも必要があります、TransactionScopeDependentTransactionを複数の関数呼び出しまたは複数のスレッド呼び出しの間で、同じトランザクションの使用を必要とするアプリケーションのクラス。You should also use the TransactionScope and DependentTransaction class for applications that require the use of the same transaction across multiple function calls or multiple thread calls. このモデルの詳細については、次を参照してください。、実装 An Implicit Transaction Using Transaction Scopeトピック。For more information on this model, see the Implementing An Implicit Transaction Using Transaction Scope topic.

作成、CommittableTransactionでコードが実行されるトランザクションをアンビエント トランザクションを自動的に設定されません。Creating a CommittableTransaction does not automatically set the ambient transaction, which is the transaction your code executes in. 取得または静的なを呼び出すことによって、アンビエント トランザクションを設定することができますTransaction.Currentのグローバル プロパティTransactionオブジェクト。You can get or set the ambient transaction by calling the static Transaction.Current property of the global Transaction object. アンビエント トランザクションの詳細については、の「TransactionScopeOption を使用して管理するトランザクション フロー」セクションを参照してください、実装 An Implicit Transaction Using Transaction Scopeトピック。For more information on ambient transactions, see the " Managing Transaction Flow using TransactionScopeOption" section of the Implementing An Implicit Transaction Using Transaction Scope topic. アンビエント トランザクションが設定されていない場合、リソース マネージャーでの任意の操作はこのトランザクションの一部ではありません。If the ambient transaction is not set, any operation on a resource manager is not part of that transaction. 明示的に設定し、リソース マネージャーに適切なトランザクション コンテキストで動作させるのにアンビエント トランザクションをリセットする必要があります。You need to explicitly set and reset the ambient transaction to ensure that resource managers operate under the right transaction context.

まで、CommittableTransactionがコミットされると、トランザクションに関連するすべてのリソースはロックされたままです。Until a CommittableTransaction has been committed, all the resources involved with the transaction are still locked.

CommittableTransaction オブジェクトは再利用できません。A CommittableTransaction object cannot be reused. コミットまたはロールバックされていますが後、トランザクションでもう一度使用または現在のアンビエント トランザクション コンテキストとして設定することはできません。Once it has been committed or rolled back, it cannot be used again in a transaction or set as the current ambient transaction context.

コンストラクター

CommittableTransaction() CommittableTransaction() CommittableTransaction() CommittableTransaction()

CommittableTransaction クラスの新しいインスタンスを初期化します。Initializes a new instance of the CommittableTransaction class.

CommittableTransaction(TimeSpan) CommittableTransaction(TimeSpan) CommittableTransaction(TimeSpan) CommittableTransaction(TimeSpan)

指定した timeout 値を使用して、CommittableTransaction クラスの新しいインスタンスを初期化します。Initializes a new instance of the CommittableTransaction class with the specified timeout value.

CommittableTransaction(TransactionOptions) CommittableTransaction(TransactionOptions) CommittableTransaction(TransactionOptions) CommittableTransaction(TransactionOptions)

新しいインスタンスを初期化、CommittableTransactionクラス トランザクション オプションを指定します。Initializes a new instance of the CommittableTransaction class with the specified transaction options.

メソッド

BeginCommit(AsyncCallback, Object) BeginCommit(AsyncCallback, Object) BeginCommit(AsyncCallback, Object) BeginCommit(AsyncCallback, Object)

非同期的にトランザクションをコミットする試みを開始します。Begins an attempt to commit the transaction asynchronously.

BeginCommitInternal(AsyncCallback) BeginCommitInternal(AsyncCallback) BeginCommitInternal(AsyncCallback) BeginCommitInternal(AsyncCallback) Inherited from Transaction
Clone() Clone() Clone() Clone()

トランザクションの複製を作成します。Creates a clone of the transaction.

(Inherited from Transaction)
Commit() Commit() Commit() Commit()

トランザクションをコミットしようとします。Attempts to commit the transaction.

DependentClone(DependentCloneOption) DependentClone(DependentCloneOption) DependentClone(DependentCloneOption) DependentClone(DependentCloneOption)

トランザクションの依存する複製を作成します。Creates a dependent clone of the transaction.

(Inherited from Transaction)
Dispose() Dispose() Dispose() Dispose()

オブジェクトによって保持されているリソースを解放します。Releases the resources that are held by the object.

(Inherited from Transaction)
EndCommit(IAsyncResult) EndCommit(IAsyncResult) EndCommit(IAsyncResult) EndCommit(IAsyncResult)

非同期的にトランザクションをコミットする試みを終了します。Ends an attempt to commit the transaction asynchronously.

EndCommitInternal(IAsyncResult) EndCommitInternal(IAsyncResult) EndCommitInternal(IAsyncResult) EndCommitInternal(IAsyncResult) Inherited from Transaction
EnlistDurable(Guid, IEnlistmentNotification, EnlistmentOptions) EnlistDurable(Guid, IEnlistmentNotification, EnlistmentOptions) EnlistDurable(Guid, IEnlistmentNotification, EnlistmentOptions) EnlistDurable(Guid, IEnlistmentNotification, EnlistmentOptions)

トランザクションに参加する 2 フェーズ コミットをサポートする永続的リソース マネージャーを参加させます。Enlists a durable resource manager that supports two phase commit to participate in a transaction.

(Inherited from Transaction)
EnlistDurable(Guid, ISinglePhaseNotification, EnlistmentOptions) EnlistDurable(Guid, ISinglePhaseNotification, EnlistmentOptions) EnlistDurable(Guid, ISinglePhaseNotification, EnlistmentOptions) EnlistDurable(Guid, ISinglePhaseNotification, EnlistmentOptions)

トランザクションで参加する単一フェーズ コミットの最適化をサポートする永続的リソース マネージャーを参加させます。Enlists a durable resource manager that supports single phase commit optimization to participate in a transaction.

(Inherited from Transaction)
EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification) EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification) EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification) EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification)

昇格可能な単一フェーズの参加リスト (PSPE) を使用して、内部トランザクションを持つリソース マネージャーを参加させます。Enlists a resource manager that has an internal transaction using a promotable single phase enlistment (PSPE).

(Inherited from Transaction)
EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid) EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid) EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid) EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid)

昇格可能な単一フェーズの参加リスト (PSPE) を使用して、内部トランザクションを持つリソース マネージャーを参加させます。Enlists a resource manager that has an internal transaction using a promotable single phase enlistment (PSPE).

(Inherited from Transaction)
EnlistVolatile(IEnlistmentNotification, EnlistmentOptions) EnlistVolatile(IEnlistmentNotification, EnlistmentOptions) EnlistVolatile(IEnlistmentNotification, EnlistmentOptions) EnlistVolatile(IEnlistmentNotification, EnlistmentOptions)

トランザクションに参加する 2 フェーズ コミットをサポートしている揮発性リソース マネージャーを参加させます。Enlists a volatile resource manager that supports two phase commit to participate in a transaction.

(Inherited from Transaction)
EnlistVolatile(ISinglePhaseNotification, EnlistmentOptions) EnlistVolatile(ISinglePhaseNotification, EnlistmentOptions) EnlistVolatile(ISinglePhaseNotification, EnlistmentOptions) EnlistVolatile(ISinglePhaseNotification, EnlistmentOptions)

トランザクションで単一フェーズ コミットの最適化をサポートしている揮発性リソース マネージャーを参加させます。Enlists a volatile resource manager that supports single phase commit optimization to participate in a transaction.

(Inherited from Transaction)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

このトランザクションと、指定したオブジェクトが等しいかどうかを判断します。Determines whether this transaction and the specified object are equal.

(Inherited from Transaction)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

このインスタンスのハッシュ コードを返します。Returns the hash code for this instance.

(Inherited from Transaction)
GetPromotedToken() GetPromotedToken() GetPromotedToken() GetPromotedToken()

トランザクションを昇格するときに、Promote メソッドで返される byte[] を取得します。Gets the byte[] returned by the Promote method when the transaction is promoted.

(Inherited from Transaction)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
PromoteAndEnlistDurable(Guid, IPromotableSinglePhaseNotification, ISinglePhaseNotification, EnlistmentOptions) PromoteAndEnlistDurable(Guid, IPromotableSinglePhaseNotification, ISinglePhaseNotification, EnlistmentOptions) PromoteAndEnlistDurable(Guid, IPromotableSinglePhaseNotification, ISinglePhaseNotification, EnlistmentOptions) PromoteAndEnlistDurable(Guid, IPromotableSinglePhaseNotification, ISinglePhaseNotification, EnlistmentOptions)

昇格およびトランザクションに参加する 2 フェーズ コミットをサポートする永続的リソース マネージャーを参加させます。Promotes and enlists a durable resource manager that supports two phase commit to participate in a transaction.

(Inherited from Transaction)
Rollback() Rollback() Rollback() Rollback()

ロールバック (中止) トランザクション。Rolls back (aborts) the transaction.

(Inherited from Transaction)
Rollback(Exception) Rollback(Exception) Rollback(Exception) Rollback(Exception)

ロールバック (中止) トランザクション。Rolls back (aborts) the transaction.

(Inherited from Transaction)
SetDistributedTransactionIdentifier(IPromotableSinglePhaseNotification, Guid) SetDistributedTransactionIdentifier(IPromotableSinglePhaseNotification, Guid) SetDistributedTransactionIdentifier(IPromotableSinglePhaseNotification, Guid) SetDistributedTransactionIdentifier(IPromotableSinglePhaseNotification, Guid)

MSDTC でないプロモーターによって生成される分散トランザクションの識別子を設定します。Sets the distributed transaction identifier generated by the non-MSDTC promoter.

(Inherited from Transaction)
ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)

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

IAsyncResult.AsyncState IAsyncResult.AsyncState IAsyncResult.AsyncState IAsyncResult.AsyncState

最後のパラメーターとして指定されたオブジェクトを取得、BeginCommit(AsyncCallback, Object)メソッドの呼び出し。Gets the object provided as the last parameter of the BeginCommit(AsyncCallback, Object) method call.

IAsyncResult.AsyncWaitHandle IAsyncResult.AsyncWaitHandle IAsyncResult.AsyncWaitHandle IAsyncResult.AsyncWaitHandle

非同期操作が完了するまで待機するために使用する WaitHandle を取得します。Gets a WaitHandle that is used to wait for an asynchronous operation to complete.

IAsyncResult.CompletedSynchronously IAsyncResult.CompletedSynchronously IAsyncResult.CompletedSynchronously IAsyncResult.CompletedSynchronously

かどうかを示す値を取得、非同期コミット操作を同期的に完了します。Gets an indication of whether the asynchronous commit operation completed synchronously.

IAsyncResult.IsCompleted IAsyncResult.IsCompleted IAsyncResult.IsCompleted IAsyncResult.IsCompleted

非同期のコミット操作が完了したかどうかを示す値を取得します。Gets an indication whether the asynchronous commit operation has completed.

ISerializable.GetObjectData(SerializationInfo, StreamingContext) ISerializable.GetObjectData(SerializationInfo, StreamingContext) ISerializable.GetObjectData(SerializationInfo, StreamingContext) ISerializable.GetObjectData(SerializationInfo, StreamingContext)

プロパティ

IsolationLevel IsolationLevel IsolationLevel IsolationLevel

トランザクションの分離レベルを取得します。Gets the isolation level of the transaction.

(Inherited from Transaction)
PromoterType PromoterType PromoterType PromoterType

トランザクションを昇格するときに、Promote メソッドで返される byte[] の形式を一意に識別します。Uniquely identifies the format of the byte[] returned by the Promote method when the transaction is promoted.

(Inherited from Transaction)
TransactionInformation TransactionInformation TransactionInformation TransactionInformation

トランザクションに関する追加情報を取得します。Retrieves additional information about a transaction.

(Inherited from Transaction)

イベント

TransactionCompleted TransactionCompleted TransactionCompleted TransactionCompleted

トランザクションが完了したことを示します。Indicates that the transaction is completed.

(Inherited from Transaction)

適用対象

スレッド セーフ

この型はスレッド セーフです。This type is thread safe.

こちらもご覧ください