Terminación de una transacción automática mediante una llamada a SetComplete
Para usar transacciones automáticas de forma eficaz, cada componente transaccional debe indicar que ha completado su trabajo. Cuando una instancia de objeto completa correctamente su tarea, debe establecer sus marcas coherentes y realizadas en True llamando al método IObjectContext::SetComplete , que se expone a través de la interfaz IObjectContext y el objeto ObjectContext .
La manera más eficaz de completar una transacción automática es desactivar explícitamente el objeto raíz mediante el método SetComplete . Al indicar explícitamente que un objeto raíz ha completado su trabajo, puede reducir la longitud de la transacción.
En el siguiente ejemplo de Visual Basic se muestra cómo indicar que un objeto transaccional ha completado su trabajo correctamente:
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
Temas relacionados