Udostępnij za pośrednictwem


SqlConnection.EnlistDistributedTransaction(ITransaction) Metoda

Definicja

Enlists w określonej transakcji jako transakcji rozproszonej.

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

Odwołanie do istniejącego ITransaction , w którym należy zarejestrować.

Uwagi

Za pomocą EnlistTransaction metody można zarejestrować się w transakcji rozproszonej. Ponieważ jest on enlista połączenia w Transaction wystąpieniu, EnlistTransaction korzysta z funkcji dostępnych w System.Transactions przestrzeni nazw do zarządzania transakcjami rozproszonymi, co zaleca enlistDistributedTransaction do tego celu. Aby uzyskać więcej informacji, zobacz Transakcje rozproszone.

Możesz kontynuować rejestrowanie w istniejącej transakcji rozproszonej przy użyciu metody EnlistDistributedTransaction , jeśli automatyczne rejestrowanie jest wyłączone. Rejestrowanie w istniejącej transakcji rozproszonej gwarantuje, że jeśli transakcja zostanie zatwierdzona lub wycofana, modyfikacje wprowadzone przez kod w źródle danych również zostaną zatwierdzone lub wycofane.

EnlistDistributedTransaction zwraca wyjątek, jeśli SqlConnection transakcja została już uruchomiona przy użyciu polecenia BeginTransaction. Jeśli jednak transakcja jest transakcją lokalną rozpoczętą w źródle danych (na przykład przez jawne wykonanie instrukcji BEGIN TRANSACTION przy użyciu SqlCommand obiektu), EnlistDistributedTransaction wycofa transakcję lokalną i zarejestrowa się w istniejącej transakcji rozproszonej zgodnie z żądaniem. Nie otrzymujesz powiadomienia, że transakcja lokalna została wycofana i jest odpowiedzialna za zarządzanie wszelkimi transakcjami lokalnymi, które nie zostały uruchomione przy użyciu polecenia BeginTransaction.

Dotyczy