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