Завершение автоматической транзакции путем вызова setComplete
Для эффективного использования автоматических транзакций каждый компонент транзакций должен указать, что он завершил свою работу. После успешного завершения задачи экземпляр объекта должен задать для него согласованные и выполненные флаги true, вызвав метод IObjectContext::SetComplete, который предоставляется как через интерфейс IObjectContext, так и объект ObjectContext.
Наиболее эффективным способом завершения автоматической транзакции является явно деактивация корневого объекта с помощью метода SetComplete. Явно указывая, что корневой объект завершил свою работу, можно уменьшить длину транзакции.
В следующем примере Visual Basic показано, как указать, что транзакционный объект успешно завершил свою работу:
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
См. также