Поделиться через


InstanceStore.Execute Метод

Определение

Синхронно выполняет команду сохраняемости. Примеры команд сохраняемости: LoadWorkflowCommand и 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

Параметры

handle
InstanceHandle

Дескриптор экземпляра.

command
InstancePersistenceCommand

Команда для выполнения.

timeout
TimeSpan

Значение времени ожидания для операции.

Возвращаемое значение

Объект InstanceView представляет известное состояние экземпляра после успешного завершения команды. Если метод Execute вызывается при транзакции, это состояние может включать нефиксированные данные. После успешной фиксации транзакции, данные объекта InstanceView можно считать фиксированными.

Комментарии

Узел вызывает метод Execute, чтобы асинхронно выполнить команду сохраняемости по отношению к дескриптору экземпляра, полученного за счет вызова метода CreateInstanceHandle. Дескриптор экземпляра может быть привязан к сущностям, которые представляют контекст и предмет команды, такой как экземпляр, владельца экземпляра или блокировку экземпляра. Только одна команда может применяться к дескриптору экземпляра в данный момент времени.

Предупреждение

Если этот метод выполняется с CreateWorkflowOwnerCommand, он создаст InstanceOwner и привяжет его к экземпляру . Это означает, что ни один другой процесс не сможет получить доступ к этому рабочему процессу; Если процесс завершается, рабочий процесс не может быть восстановлен или выполнен. Если такой рабочий процесс выполняется снова, InstanceLockedException будет выдано исключение .

Если CreateWorkflowOwnerCommand не используется, хранилище экземпляров создаст временное InstanceOwner хранилище, которое будет удалено в конце процесса. Однако если процесс завершается до последней точки сохраняемости рабочего процесса, это исключение будет создано, если не истек период времени, указанный в параметре HostLockRenewalPeriod .

Применяется к