Udostępnij przez


Kończenie transakcji automatycznej przez wywołanie polecenia SetComplete

Aby efektywnie korzystać z transakcji automatycznych, każdy składnik transakcyjny powinien wskazywać, że zakończył swoją pracę. Gdy wystąpienie obiektu zakończy zadanie pomyślnie, powinno ustawić flagi spójności i zakończenia na True, wywołując metodę IObjectContext::SetComplete, która jest dostępna zarówno za pośrednictwem interfejsu IObjectContext, jak i obiektu ObjectContext.

Najbardziej efektywnym sposobem ukończenia transakcji automatycznej jest jawne dezaktywowanie obiektu głównego przy użyciu metody SetComplete. Jawnie wskazując, że obiekt główny zakończył swoją pracę, można zmniejszyć długość transakcji.

Poniższy przykład języka Visual Basic pokazuje, jak wskazać, że obiekt transakcyjny zakończył swoją pracę pomyślnie:

Sub MyObjMethod1()
  Dim ObjCtx As ObjectContext
  Dim InteriorObj1 As Cinterior  ' Cinterior is a user-defined object.

  Set ObjCtx = GetObjectContext()
  Set InteriorObj1 = CreateObject ("MyDll.Cinterior")
  InteriorObj1.Method1
  ' If the call completed successfully, then...
  objCtx.SetComplete
End Sub

spójne i gotowe flagi

zarządzanie transakcjami automatycznymi w modelu COM+