SqlConnection.EnlistDistributedTransaction(ITransaction) Metod

Definition

Registrerar den angivna transaktionen som en distribuerad transaktion.

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)

Parametrar

transaction
ITransaction

En referens till en befintlig ITransaction som du kan använda för att registrera.

Kommentarer

Du kan använda EnlistTransaction metoden för att registrera i en distribuerad transaktion. Eftersom en anslutning anges i en Transaction instans utnyttjar EnlistTransaction funktioner som är tillgängliga i System.Transactions namnområdet för att hantera distribuerade transaktioner, vilket gör det bättre än EnlistDistributedTransaction för detta ändamål. Mer information finns i Distribuerade transaktioner.

Du kan fortsätta att registrera i en befintlig distribuerad transaktion med hjälp av metoden EnlistDistributedTransaction om automatisk registrering är inaktiverad. Om du registrerar en befintlig distribuerad transaktion ser du till att ändringar som görs av koden i datakällan också checkas in eller återställs om transaktionen checkas in eller återställs.

EnlistDistributedTransactionreturnerar ett undantag om SqlConnection redan har startat en transaktion med .BeginTransaction Men om transaktionen är en lokal transaktion som startas vid datakällan (till exempel genom att uttryckligen köra BEGIN TRANSACTION-instruktionen med hjälp av ett SqlCommand objekt) återställer EnlistDistributedTransaction den lokala transaktionen och registrerar den befintliga distribuerade transaktionen på begäran. Du får inget meddelande om att den lokala transaktionen har återställts och ansvarar för att hantera lokala transaktioner som inte har startats med hjälp av BeginTransaction.

Gäller för

Se även