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 się zarejestrować.

Uwagi

Za pomocą EnlistTransaction metody można zarejestrować się w transakcji rozproszonej. Ponieważ powoduje ona utworzenie połączenia w wystąpieniu Transaction , funkcja EnlistTransaction korzysta z funkcji dostępnych w System.Transactions przestrzeni nazw do zarządzania transakcjami rozproszonymi, co sprawia, że preferowane jest użycie funkcji EnlistDistributedTransaction w tym celu. Aby uzyskać więcej informacji, zobacz Transakcje rozproszone.

Możesz nadal zarejestrować się 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ą uruchomioną w źródle danych (na przykład przez jawne wykonanie instrukcji BEGIN TRANSACTION przy użyciu SqlCommand obiektu), EnlistDistributedTransaction cofa lokalną transakcję i zapisuje 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 zaczęły korzystać z usługi BeginTransaction.

Dotyczy

Zobacz też