InstanceStore.Execute Método

Definición

Ejecuta un comando de persistencia de forma sincrónica. Algunos ejemplos de comandos de persistencia son: LoadWorkflowCommand y SaveWorkflowCommand.

public:
 System::Runtime::DurableInstancing::InstanceView ^ Execute(System::Runtime::DurableInstancing::InstanceHandle ^ handle, System::Runtime::DurableInstancing::InstancePersistenceCommand ^ command, TimeSpan timeout);
public System.Runtime.DurableInstancing.InstanceView Execute(System.Runtime.DurableInstancing.InstanceHandle handle, System.Runtime.DurableInstancing.InstancePersistenceCommand command, TimeSpan timeout);
member this.Execute : System.Runtime.DurableInstancing.InstanceHandle * System.Runtime.DurableInstancing.InstancePersistenceCommand * TimeSpan -> System.Runtime.DurableInstancing.InstanceView
Public Function Execute (handle As InstanceHandle, command As InstancePersistenceCommand, timeout As TimeSpan) As InstanceView

Parámetros

handle
InstanceHandle

Un identificador de instancia.

command
InstancePersistenceCommand

Comando que se va a ejecutar.

timeout
TimeSpan

Valor de tiempo de espera de la operación.

Devoluciones

Objeto InstanceView que representa el estado conocido de la instancia después de la finalización correcta del comando. Si se llamó a Execute en una transacción, este estado puede incluir datos no confirmados. Una vez confirmada correctamente la transacción, los datos del objeto InstanceView se pueden considerar confirmados.

Comentarios

Un host llama al Execute método para ejecutar un comando de persistencia en un identificador de instancia, que el host obtiene invocando el CreateInstanceHandle método . El identificador de instancia puede estar enlazado a entidades que representan el contexto y el asunto del comando, como una instancia, un propietario de instancia o un bloqueo de instancia. Solo se puede emitir un comando en un identificador de instancia a la vez.

Advertencia

Si este método se ejecuta con , CreateWorkflowOwnerCommandcreará un InstanceOwner y lo enlazará a la instancia. Esto significa que ningún otro proceso podrá acceder a ese flujo de trabajo; si finaliza el proceso, el flujo de trabajo no se puede recuperar ni ejecutar. Si se vuelve a ejecutar este flujo de trabajo, se producirá una InstanceLockedException excepción .

Si CreateWorkflowOwnerCommand no se usa, el almacén de instancias creará un valor temporal InstanceOwner que se eliminará al final del proceso. Sin embargo, si el proceso finaliza antes del punto de persistencia final del flujo de trabajo, se producirá esta excepción, a menos que haya expirado el período de tiempo especificado en el parámetro HostLockRenewalPeriod .

Se aplica a