InstanceStore.Execute 方法

定义

异步执行永久性命令。 永久性命令的示例:LoadWorkflowCommandSaveWorkflowCommand

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 参数中指定的时间段已过期。

适用于