Freigeben über


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 sich in eine verteilte Transaktion ein eintragen zu lassen. Da es eine Verbindung in einem Transaction instance einnimmt, nutzt EnlistTransaction die im Namespace verfügbaren Funktionen für die System.Transactions Verwaltung verteilter Transaktionen und macht es zu diesem Zweck EnlistDistributedTransaction vorzuziehen. Weitere Informationen finden Sie unter Verteilte Transaktionen.

Sie können mit der EnlistDistributedTransaction-Methode weiterhin in eine vorhandene verteilte Transaktion eintragen, wenn die automatische Registrierung deaktiviert ist. Wenn Sie sich in eine vorhandene verteilte Transaktion eintragen, stellen Sie sicher, dass änderungen, die vom Code an der Datenquelle vorgenommen werden, auch committet oder zurückgesetzt werden, wenn die Transaktion committ oder rollbackt wird.

EnlistDistributedTransaction gibt eine Ausnahme zurück, wenn bereits SqlConnection eine Transaktion mit BeginTransactiongestartet wurde. Wenn es sich bei der Transaktion jedoch um eine lokale Transaktion handelt, die an der Datenquelle gestartet wurde (z. B. durch explizites Ausführen der BEGIN TRANSACTION-Anweisung mithilfe eines SqlCommand Objekts), führt EnlistDistributedTransaction ein Rollback für die lokale Transaktion aus und führt die vorhandene verteilte Transaktion wie angefordert ein. Sie erhalten keine Benachrichtigung, dass für die lokale Transaktion ein Rollback ausgeführt wurde, und sind für die Verwaltung aller lokalen Transaktionen verantwortlich, die nicht mit BeginTransactionverwendet wurden.

Gilt für:

Weitere Informationen