InstanceStore.Execute 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
异步执行永久性命令。 永久性命令的示例: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 参数中指定的时间段已过期。