SqlConnection.EnlistDistributedTransaction(ITransaction) Méthode

Définition

Inscrit dans la transaction spécifiée en tant que transaction distribuée.

public:
 void EnlistDistributedTransaction(System::EnterpriseServices::ITransaction ^ transaction);
public void EnlistDistributedTransaction(System.EnterpriseServices.ITransaction transaction);
member this.EnlistDistributedTransaction : System.EnterpriseServices.ITransaction -> unit
Public Sub EnlistDistributedTransaction (transaction As ITransaction)

Paramètres

transaction
ITransaction

Référence à un élément existant ITransaction dans lequel s’inscrire.

Remarques

Vous pouvez utiliser la EnlistTransaction méthode pour inscrire dans une transaction distribuée. Étant donné qu’elle inscrit une connexion dans une Transaction instance, EnlistTransaction tire parti des fonctionnalités disponibles dans l’espace System.Transactions de noms pour la gestion des transactions distribuées, ce qui rend préférable à EnlistDistributedTransaction à cet effet. Pour plus d’informations, consultez Transactions distribuées.

Vous pouvez continuer à inscrire dans une transaction distribuée existante à l’aide de la méthode EnlistDistributedTransaction si l’inscription automatique est désactivée. L’inscription dans une transaction distribuée existante garantit que, si la transaction est validée ou restaurée, les modifications apportées par le code à la source de données sont également validées ou restaurées.

EnlistDistributedTransaction retourne une exception si la SqlConnection transaction a déjà démarré à l’aide BeginTransactionde . Toutefois, si la transaction est une transaction locale démarrée à la source de données (par exemple, en exécutant explicitement l’instruction BEGIN TRANSACTION à l’aide d’un SqlCommand objet), EnlistDistributedTransaction restaure la transaction locale et inscrit dans la transaction distribuée existante comme demandé. Vous ne recevez pas de notification indiquant que la transaction locale a été restaurée et qu’elle est responsable de la gestion des transactions locales non démarrées à l’aide BeginTransaction.

S’applique à

Voir aussi