Compartilhar via


InstanceStore.Execute Método

Definição

Executa um comando de persistência de forma síncrona. Exemplos de comandos de persistência: LoadWorkflowCommand e 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

Um identificador de instância.

command
InstancePersistenceCommand

O comando a ser executado.

timeout
TimeSpan

O valor de tempo limite para a operação.

Retornos

Um objeto InstanceView que representa o estado conhecido da instância após a conclusão bem-sucedida do comando. Se Execute foi chamado em uma transação, esse estado poderá incluir dados não confirmados. Depois que a transação for confirmada com êxito, os dados no objeto InstanceView poderão ser considerados confirmados.

Comentários

Um host chama o Execute método para executar um comando de persistência em um identificador de instância, que o host obtém invocando o CreateInstanceHandle método . O identificador de instância pode estar associado a entidades que representam o contexto e o assunto do comando, como uma instância, um proprietário da instância ou um bloqueio de instância. Somente um comando pode ser emitido em um identificador de instância por vez.

Aviso

Se esse método for executado com um CreateWorkflowOwnerCommand, ele criará um InstanceOwner e o associará à instância . Isso significa que nenhum outro processo será capaz de acessar esse fluxo de trabalho; se o processo terminar, o fluxo de trabalho não poderá ser recuperado ou executado. Se esse fluxo de trabalho for executado novamente, um InstanceLockedException será gerado.

Se CreateWorkflowOwnerCommand não for usado, o repositório de instâncias criará um temporário InstanceOwner que será excluído no final do processo. No entanto, se o processo terminar antes do ponto de persistência final do fluxo de trabalho, essa exceção será gerada, a menos que o período de tempo especificado no parâmetro HostLockRenewalPeriod tenha expirado.

Aplica-se a