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 つだけです。

Warning

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

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

適用対象