Język

IEnlistmentNotification.Commit(Enlistment) Metoda

Definicja

Powiadamia obiekt enlisted, że transakcja jest zatwierdzana.

public:
 void Commit(System::Transactions::Enlistment ^ enlistment);
public void Commit(System.Transactions.Enlistment enlistment);
abstract member Commit : System.Transactions.Enlistment -> unit
Public Sub Commit (enlistment As Enlistment)

Parametry

enlistment
Enlistment

Obiekt Enlistment używany do wysyłania odpowiedzi do menedżera transakcji.

Uwagi

Menedżer transakcji wywołuje tę metodę obiektu wymienionego w drugiej fazie zobowiązania, gdy nakazuje wszystkim uczestnikom zatwierdzenie transakcji.

Menedżer zasobów powinien wykonać każdą pracę niezbędną do zakończenia transakcji, a następnie poinformować TM, że zakończył, wywołując Done metodę w parametrze enlistment .

Jeśli menedżer zasobów zarejestrował się trwale, ale nie odpowiada za pomocą metody wywołującej Done , menedżer transakcji nie jest pewien, że menedżer zasobów odebrał Commit wywołanie. W związku z tym menedżer transakcji czeka na odpowiedź i utrzymuje informacje istotne dla tej transakcji. Jeśli Done nigdy nie jest wywoływana, ta część informacji jest przechowywana przez czas nieokreślony w pamięci lub w zasobie obejmującym cały system. Powoduje to, że zasoby nie mogą zostać odzyskane. W przypadku transakcji rozproszonej może to ostatecznie wypełnić dziennik MSDTC, który zatrzymuje proces MSDTC. W przypadku transakcji zarządzanej przez System.Transactionsprogram powoduje to stopniowy i ciągły wzrost zużycia pamięci procesu menedżera zasobów. W związku z tym ważne jest, aby wywołać metodę po zakończeniu Done pracy przy przygotowaniu menedżera zasobów.

Dotyczy