Compartir a través de


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

Marcas coherentes y finalizadas

Administración de transacciones automáticas en COM+