Fin d’une transaction automatique en appelant SetComplete

Pour utiliser efficacement les transactions automatiques, chaque composant transactionnel doit indiquer qu’il a terminé son travail. Quand une instance d’objet termine sa tâche avec succès, elle doit affecter la valeur true à ses indicateurs consistent et Done en appelant la méthode IObjectContext :: SetComplete , exposée à l’aide de l’interface IObjectContext et de 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 de Visual Basic suivant montre comment indiquer qu’un objet transactionnel a terminé son travail :

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+