Udostępnij za pośrednictwem


IEnlistmentNotification.Commit(Enlistment) Metoda

Definicja

Powiadamia obiekt wymieniony, ż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ć menedżera zasobów, że zakończył, wywołując metodę Done 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, ten fragment informacji jest przechowywany 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 w procesie 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