SqlConnection.EnlistDistributedTransaction(ITransaction) Methode

Definition

Trägt sich in der angegebenen Transaktion als verteilte Transaktion ein.

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 eine vorhandene ITransaction, in der die Eintragung vorgenommen werden soll.

Hinweise

Sie können die EnlistTransaction Methode verwenden, um in einer verteilten Transaktion auflisten zu können. Da sie eine Verbindung in einer Transaction Instanz auflisten, nutzt EnlistTransaction die Funktionalität, die im Namespace für die System.Transactions Verwaltung verteilter Transaktionen verfügbar ist, wodurch EnlistDistributedTransaction für diesen Zweck bevorzugt wird. Weitere Informationen finden Sie unter Verteilte Transaktionen.

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

EnlistDistributedTransaction gibt eine Ausnahme zurück, wenn die SqlConnection Transaktion bereits mithilfe BeginTransactioneiner Transaktion gestartet wurde. Wenn die Transaktion jedoch eine lokale Transaktion ist, die an der Datenquelle gestartet wurde (z. B. durch explizites Ausführen der BEGIN TRANSACTION-Anweisung mit einem SqlCommand Objekt), rollt EnlistDistributedTransaction die lokale Transaktion zurück und listet die vorhandene verteilte Transaktion wie angefordert zurück. Sie erhalten keine Benachrichtigung darüber, dass die lokale Transaktion zurückgesetzt wurde und für die Verwaltung lokaler Transaktionen verantwortlich sind, die nicht mit der Verwendung BeginTransactionbegonnen haben.

Gilt für

Siehe auch