Beenden einer automatischen Transaktion durch Aufrufen von SetComplete

Um automatische Transaktionen effektiv zu verwenden, sollte jede Transaktionskomponente angeben, dass sie ihre Arbeit abgeschlossen hat. Wenn ein Objekt instance seine Aufgabe erfolgreich abgeschlossen hat, sollte es seine konsistenten und done-Flags auf True festlegen, indem die IObjectContext::SetComplete-Methode aufgerufen wird, die sowohl über die IObjectContext-Schnittstelle als auch über das ObjectContext-Objekt verfügbar gemacht wird.

Die effizienteste Methode zum Abschließen einer automatischen Transaktion ist die explizite Deaktivierung des Stammobjekts mithilfe der SetComplete-Methode . Indem Sie explizit angeben, dass ein Stammobjekt seine Arbeit abgeschlossen hat, können Sie die Länge der Transaktion verringern.

Das folgende Visual Basic-Beispiel zeigt, wie Sie angeben, dass ein Transaktionsobjekt seine Arbeit erfolgreich abgeschlossen hat:

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

Flags "Konsistent" und "Fertig"

Verwalten automatischer Transaktionen in COM+