Compartir a través de


InstanceStore.Execute Método

Definición

Ejecuta sincrónicamente un comando de persistencia. 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

Identificador de instancia.

command
InstancePersistenceCommand

Comando que se va a ejecutar.

timeout
TimeSpan

Valor de tiempo de espera para la operación.

Devoluciones

Un objeto InstanceView que representa el estado conocido de la instancia después de la realización correcta del comando. Si se llamara a Execute bajo una transacción, este estado puede incluir datos no confirmados. Una vez confirmada correctamente la transacción, los datos del objeto InstanceView pueden considerarse confirmados.

Comentarios

Un host llama al método Execute para ejecutar un comando de persistencia con un identificador de instancia, que el host obtiene invocando el método CreateInstanceHandle. El identificador de instancia puede estar enlazado a entidades que representan el contexto y asunto del comando, como una instancia, un propietario de instancia o un bloqueo de instancia. Los comandos solo se pueden enviar uno a uno al identificador de instancia.

Advertencia

Si este método se ejecuta con , CreateWorkflowOwnerCommandcreará y InstanceOwner lo enlazará a la instancia de . 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 el período de tiempo especificado en el parámetro HostLockRenewalPeriod haya expirado.

Se aplica a