Sdílet prostřednictvím


SqlConnection.EnlistDistributedTransaction(ITransaction) Metoda

Definice

Zadává v zadané transakci jako distribuovanou transakci.

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)

Parametry

transaction
ITransaction

Odkaz na existující ITransaction , ve kterém se má zařadit.

Poznámky

Můžete použít metodu EnlistTransaction zařazení do distribuované transakce. Vzhledem k tomu, že obsahuje připojení v Transaction instanci, EnlistTransaction využívá funkce dostupné v System.Transactions oboru názvů pro správu distribuovaných transakcí, takže je vhodnější k EnlistDistributedTransaction pro tento účel. Další informace najdete v tématu Distribuované transakce.

Můžete pokračovat v zařazení do existující distribuované transakce pomocí EnlistDistributedTransaction metoda, pokud automatické zařazení je zakázáno. Zařazení do existující distribuované transakce zajistí, že pokud transakce je potvrzena nebo vrácena zpět, změny provedené kódem ve zdroji dat jsou také potvrzeny nebo vráceny zpět.

EnlistDistributedTransaction vrátí výjimku, SqlConnection pokud již zahájil transakci pomocí BeginTransaction. Pokud je však transakce místní transakce spuštěna ve zdroji dat (například explicitním spuštěním příkazu BEGIN TRANSACTION pomocí objektu SqlCommand ), EnlistDistributedTransaction vrátí zpět místní transakci a zařazení do existující distribuované transakce podle požadavku. Neobdržíte oznámení, že místní transakce byla vrácena zpět a zodpovídá za správu všech místních transakcí, které nebyly zahájeny pomocí BeginTransactionnástroje .

Platí pro