CommittableTransaction Classe

Définition

Décrit une transaction validable.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
Héritage
CommittableTransaction
Attributs
Implémente

Remarques

La classe CommittableTransaction permet aux applications d’utiliser une transaction de façon explicite au lieu d’utiliser la classe TransactionScope de façon implicite.The CommittableTransaction class provides an explicit way for applications to use a transaction, as opposed to using the TransactionScope class implicitly. Contrairement à la classe TransactionScope, le writer d’application doit absolument appeler les méthodes Commit et Rollback pour valider ou abandonner la transaction.Unlike the TransactionScope class, the application writer needs to specifically call the Commit and Rollback methods in order to commit or abort the transaction. Toutefois, seul le créateur d’une transaction peut valider la transaction.However, only the creator of a transaction can commit the transaction. Par conséquent, les copies d’une transaction validable obtenues Transaction.Clone par le biais de la méthode ne peuvent pas être validées.Therefore, copies of a committable transaction obtained through the Transaction.Clone method are not committable.

Notes

Nous vous recommandons de créer des transactions implicites TransactionScope à l’aide de la classe, afin que le contexte de transaction ambiant soit géré automatiquement pour vous.We recommend that you create implicit transactions using the TransactionScope class, so that the ambient transaction context is automatically managed for you. Vous devez également utiliser les TransactionScope classes DependentTransaction et pour les applications qui requièrent l’utilisation de la même transaction pour plusieurs appels de fonction ou plusieurs appels de thread.You should also use the TransactionScope and DependentTransaction classes for applications that require the use of the same transaction across multiple function calls or multiple thread calls. Pour plus d’informations sur ce modèle, consultez la rubrique implémentation d’une transaction implicite à l’aide d’une étendue de transaction .For more information on this model, see the Implementing An Implicit Transaction Using Transaction Scope topic.

La création CommittableTransaction d’un ne définit pas automatiquement la transaction ambiante, qui est la transaction dans laquelle votre code s’exécute.Creating a CommittableTransaction does not automatically set the ambient transaction, which is the transaction your code executes in. Vous pouvez récupérer ou définir la transaction ambiante en appelant la propriété Transaction.Current statique de l’objet Transaction global.You can get or set the ambient transaction by calling the static Transaction.Current property of the global Transaction object. Pour plus d’informations sur les transactions ambiantes, consultez la section « gestion du workflow de transaction à l’aide de TransactionScopeOption » de la rubrique implémentation d’une transaction implicite à l’aide d’une étendue de transaction .For more information on ambient transactions, see the " Managing Transaction Flow using TransactionScopeOption" section of the Implementing An Implicit Transaction Using Transaction Scope topic. Si la transaction ambiante n’est pas définie, toute opération sur un gestionnaire de ressources ne fait pas partie de cette transaction.If the ambient transaction is not set, any operation on a resource manager is not part of that transaction. Vous devez définir et réinitialiser explicitement la transaction ambiante pour vous assurer que les gestionnaires de ressources fonctionnent dans le contexte de transaction approprié.You need to explicitly set and reset the ambient transaction to ensure that resource managers operate under the right transaction context.

Tant qu' CommittableTransaction un n’a pas été validé, toutes les ressources impliquées dans la transaction sont toujours verrouillées.Until a CommittableTransaction has been committed, all the resources involved with the transaction are still locked.

Un objet CommittableTransaction ne peut pas être réutilisé.A CommittableTransaction object cannot be reused. Une fois qu’elle a été validée ou restaurée, elle ne peut pas être réutilisée dans une transaction ou définie comme contexte de transaction ambiant en cours.Once it has been committed or rolled back, it cannot be used again in a transaction or set as the current ambient transaction context.

Constructeurs

CommittableTransaction()

Initialise une nouvelle instance de la classe CommittableTransaction.Initializes a new instance of the CommittableTransaction class.

CommittableTransaction(TimeSpan)

Initialise une nouvelle instance de la classe CommittableTransaction avec la valeur timeout spécifiée.Initializes a new instance of the CommittableTransaction class with the specified timeout value.

CommittableTransaction(TransactionOptions)

Initialise une nouvelle instance de la classe CommittableTransaction avec les options de transaction spécifiées.Initializes a new instance of the CommittableTransaction class with the specified transaction options.

Propriétés

IsolationLevel

Obtient le niveau d'isolement de la transaction.Gets the isolation level of the transaction.

(Hérité de Transaction)
PromoterType

Identifie de façon unique le format de l’élément byte[] retourné par la méthode Promote quand la transaction est promue.Uniquely identifies the format of the byte[] returned by the Promote method when the transaction is promoted.

(Hérité de Transaction)
TransactionInformation

Récupère des informations supplémentaires à propos d'une transaction.Retrieves additional information about a transaction.

(Hérité de Transaction)

Méthodes

BeginCommit(AsyncCallback, Object)

Commence une tentative de validation de la transaction de façon asynchrone.Begins an attempt to commit the transaction asynchronously.

BeginCommitInternal(AsyncCallback) (Hérité de Transaction)
Clone()

Crée un clone de la transaction.Creates a clone of the transaction.

(Hérité de Transaction)
Commit()

Essaie de valider la transaction.Attempts to commit the transaction.

DependentClone(DependentCloneOption)

Crée un clone dépendant de la transaction.Creates a dependent clone of the transaction.

(Hérité de Transaction)
Dispose()

Libère les ressources utilisées par l’objet.Releases the resources that are held by the object.

(Hérité de Transaction)
EndCommit(IAsyncResult)

Termine une tentative de validation de la transaction de façon asynchrone.Ends an attempt to commit the transaction asynchronously.

EndCommitInternal(IAsyncResult) (Hérité de Transaction)
EnlistDurable(Guid, IEnlistmentNotification, EnlistmentOptions)

Inscrit un gestionnaire de ressources durable qui prend en charge la validation à deux phases pour participer à une transaction.Enlists a durable resource manager that supports two phase commit to participate in a transaction.

(Hérité de Transaction)
EnlistDurable(Guid, ISinglePhaseNotification, EnlistmentOptions)

Inscrit un gestionnaire de ressources durable qui prend en charge l'optimisation de la validation à phase unique pour participer à une transaction.Enlists a durable resource manager that supports single phase commit optimization to participate in a transaction.

(Hérité de Transaction)
EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification)

Inscrit un gestionnaire de ressources qui a une transaction interne à l'aide d'une inscription à phase unique pouvant être promue (PSPE).Enlists a resource manager that has an internal transaction using a promotable single phase enlistment (PSPE).

(Hérité de Transaction)
EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid)

Inscrit un gestionnaire de ressources qui a une transaction interne à l'aide d'une inscription à phase unique pouvant être promue (PSPE).Enlists a resource manager that has an internal transaction using a promotable single phase enlistment (PSPE).

(Hérité de Transaction)
EnlistVolatile(IEnlistmentNotification, EnlistmentOptions)

Inscrit un gestionnaire de ressources volatiles qui prend en charge la validation à deux phases pour participer à une transaction.Enlists a volatile resource manager that supports two phase commit to participate in a transaction.

(Hérité de Transaction)
EnlistVolatile(ISinglePhaseNotification, EnlistmentOptions)

Inscrit un gestionnaire de ressources volatil qui prend en charge l'optimisation de la validation à phase unique pour participer à une transaction.Enlists a volatile resource manager that supports single phase commit optimization to participate in a transaction.

(Hérité de Transaction)
Equals(Object)

Détermine si cette transaction et l'objet spécifié sont égaux.Determines whether this transaction and the specified object are equal.

(Hérité de Transaction)
GetHashCode()

Retourne le code de hachage de cette instance.Returns the hash code for this instance.

(Hérité de Transaction)
GetPromotedToken()

Obtient l’élément byte[] retourné par la méthode Promote quand la transaction est promue.Gets the byte[] returned by the Promote method when the transaction is promoted.

(Hérité de Transaction)
GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.Creates a shallow copy of the current Object.

(Hérité de Object)
PromoteAndEnlistDurable(Guid, IPromotableSinglePhaseNotification, ISinglePhaseNotification, EnlistmentOptions)

Favorise et inscrit un gestionnaire de ressources durable qui prend en charge la validation à deux phases pour participer à une transaction.Promotes and enlists a durable resource manager that supports two phase commit to participate in a transaction.

(Hérité de Transaction)
Rollback()

Restaure (abandonne) la transaction.Rolls back (aborts) the transaction.

(Hérité de Transaction)
Rollback(Exception)

Restaure (abandonne) la transaction.Rolls back (aborts) the transaction.

(Hérité de Transaction)
SetDistributedTransactionIdentifier(IPromotableSinglePhaseNotification, Guid)

Définit l'identificateur de transaction distribuée généré par le promoteur non-MSDTC.Sets the distributed transaction identifier generated by the non-MSDTC promoter.

(Hérité de Transaction)
ToString()

Retourne une chaîne qui représente l'objet en cours.Returns a string that represents the current object.

(Hérité de Object)

Événements

TransactionCompleted

Indique que la transaction est terminée.Indicates that the transaction is completed.

(Hérité de Transaction)

Implémentations d’interfaces explicites

IAsyncResult.AsyncState

Obtient l'objet fourni comme dernier paramètre d'un appel à la méthode BeginCommit(AsyncCallback, Object).Gets the object provided as the last parameter of the BeginCommit(AsyncCallback, Object) method call.

IAsyncResult.AsyncWaitHandle

Obtient un WaitHandle qui est utilisé pour attendre qu’une opération asynchrone se termine.Gets a WaitHandle that is used to wait for an asynchronous operation to complete.

IAsyncResult.CompletedSynchronously

Obtient une indication précisant si l'opération de validation asynchrone a été terminée de manière synchrone.Gets an indication of whether the asynchronous commit operation completed synchronously.

IAsyncResult.IsCompleted

Obtient une indication précisant si l'opération de validation asynchrone est terminée.Gets an indication whether the asynchronous commit operation has completed.

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

S’applique à

Cohérence de thread

Ce type est thread-safe.This type is thread safe.

Voir aussi