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 メソッドを呼び出すことによって取得します。 インスタンス ハンドルは、インスタンス、インスタンス所有者、インスタンス ロックなど、コマンドのコンテキストとサブジェクトを表すエンティティにバインドできます。 インスタンス ハンドルに対して一度に発行できるコマンドは 1 つだけです。
Warning
このメソッドを CreateWorkflowOwnerCommandで実行すると、 InstanceOwner が作成され、インスタンスにバインドされます。 これは、他のプロセスがそのワークフローにアクセスできないことを意味します。プロセスが終了した場合、ワークフローを復旧または実行することはできません。 このようなワークフローが再度実行されると、 InstanceLockedException がスローされます。
CreateWorkflowOwnerCommandを使用しない場合、インスタンス ストアはプロセスの最後に削除される一時的なInstanceOwnerを作成します。 ただし、ワークフローの最終的な永続化ポイントの前にプロセスが終了した場合、 HostLockRenewalPeriod パラメーターで指定された期間が期限切れでない限り、この例外がスローされます。