Partager via


Arrêt d’une transaction automatique en appelant SetComplete

Pour utiliser efficacement les transactions automatiques, chaque composant transactionnel doit indiquer qu’il a terminé son travail. Lorsqu’un objet instance termine correctement sa tâche, il doit définir ses indicateurs cohérents et terminés sur True en appelant la méthode IObjectContext::SetComplete, qui est exposée via l’interface IObjectContext et l’objet ObjectContext.

La méthode la plus efficace pour effectuer une transaction automatique consiste à désactiver explicitement l’objet racine à l’aide de la méthode SetComplete . En indiquant explicitement qu’un objet racine a terminé son travail, vous pouvez réduire la longueur de la transaction.

L’exemple Visual Basic suivant montre comment indiquer qu’un objet transactionnel a terminé son travail avec succès :

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

Indicateurs cohérents et terminés

Gestion des transactions automatiques dans COM+