SqlConnection.EnlistDistributedTransaction(ITransaction) Methode

Definition

Enlists in der angegebenen Transaktion als verteilte 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)

Parameter

transaction
ITransaction

Ein Verweis auf einen vorhandenen ITransaction , in dem eine Liste hinzugefügt werden soll.

Hinweise

Sie können die EnlistTransaction Methode zum Auflisten in einer verteilten Transaktion verwenden. Da sie eine Verbindung in einer Transaction Instanz auflistet, nutzt EnlistTransaction die im Namespace für die System.Transactions Verwaltung verteilter Transaktionen verfügbarer Funktionen, wodurch EnlistDistributedTransaction zu diesem Zweck bevorzugt wird. Weitere Informationen finden Sie unter Verteilte Transaktionen.

Sie können eine vorhandene verteilte Transaktion weiterhin mit der EnlistDistributedTransaction-Methode auflisten, wenn die automatische Listenliste deaktiviert ist. Durch das Auflisten in einer vorhandenen verteilten Transaktion wird sichergestellt, dass Änderungen, die vom Code an der Datenquelle vorgenommen wurden, auch zugesichert oder zurückgesetzt werden, wenn die Transaktion zugesichert oder zurückgesetzt wird.

EnlistDistributedTransaction gibt eine Ausnahme zurück, wenn die SqlConnection Transaktion bereits mithilfe BeginTransactioneiner Transaktion gestartet wurde. Wenn es sich bei der Transaktion jedoch um eine lokale Transaktion handelt, die an der Datenquelle gestartet wird (z. B. durch explizites Ausführen der BEGIN TRANSACTION-Anweisung mit einem SqlCommand Objekt), setzt EnlistDistributedTransaction die lokale Transaktion zurück und führt eine Liste in der vorhandenen verteilten Transaktion wie angefordert aus. Sie erhalten keine Benachrichtigung, dass die lokale Transaktion zurückgesetzt wurde und für die Verwaltung lokaler Transaktionen verantwortlich ist, die nicht mit der Verwendung BeginTransactionbegonnen haben.

Gilt für:

Weitere Informationen