次の方法で共有


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 メソッドを呼び出して、このインスタンス ハンドルを取得します。 インスタンス ハンドルは、インスタンス、インスタンス所有者、インスタンス ロックなどのコマンドのコンテキストとサブジェクトを表すエンティティにバインドできます。 インスタンス ハンドルに対して一度に発行できるコマンドは 1 つだけです。

警告

このメソッドを を使用して CreateWorkflowOwnerCommand実行すると、 が作成 InstanceOwner され、インスタンスにバインドされます。 これは、他のプロセスがそのワークフローにアクセスできないことを意味します。プロセスが終了した場合、ワークフローを復旧または実行することはできません。 このようなワークフローが再度実行されると、 InstanceLockedException がスローされます。

を使用しない場合 CreateWorkflowOwnerCommand 、インスタンス ストアはプロセスの最後に削除される一時 InstanceOwner を作成します。 ただし、ワークフローの最終的な永続化ポイントの前にプロセスが終了した場合、 HostLockRenewalPeriod パラメーターで指定された期間が期限切れになっていない限り、この例外がスローされます。

適用対象