WorkflowApplication.Persist メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ワークフロー インスタンスをインスタンス ストアに永続化します。
オーバーロード
| 名前 | 説明 |
|---|---|
| Persist() |
ワークフロー インスタンスをインスタンス ストアに永続化します。 |
| Persist(TimeSpan) |
指定したタイムアウト間隔を使用して、ワークフロー インスタンスをインスタンス ストアに永続化します。 |
注釈
ワークフロー インスタンスが永続化から以前に読み込まれた場合、ワークフローの読み込みに使用されるのと同じ InstanceStore が永続化に使用されます。 ワークフローが作成され、まだ永続化されていない場合は、このメソッドを呼び出す前に InstanceStore を構成する必要があります。そうしないと、このメソッドが呼び出されたときに InvalidOperationException がスローされます。
Persist()
ワークフロー インスタンスをインスタンス ストアに永続化します。
public:
void Persist();
public void Persist();
member this.Persist : unit -> unit
Public Sub Persist ()
例
次の例では、ワークフローが開始される前にワークフロー インスタンスを永続化する Persist を呼び出します。
WorkflowApplication application = new WorkflowApplication(activity);
application.InstanceStore = instanceStore;
//returning IdleAction.Unload instructs the WorkflowApplication to persists application state and remove it from memory
application.PersistableIdle = (e) =>
{
return PersistableIdleAction.Unload;
};
application.Unloaded = (e) =>
{
instanceUnloaded.Set();
};
//This call is not required
//Calling persist here captures the application durably before it has been started
application.Persist();
id = application.Id;
application.Run();
instanceUnloaded.WaitOne();
注釈
永続化操作が 30 秒以内に完了しない場合は、 TimeoutException がスローされます。
ワークフロー インスタンスが永続化から以前に読み込まれた場合、ワークフローの読み込みに使用されるのと同じ InstanceStore が永続化に使用されます。 ワークフローが作成され、まだ永続化されていない場合は、このメソッドを呼び出す前に InstanceStore を構成する必要があります。そうしないと、このメソッドが呼び出されたときに InvalidOperationException がスローされます。
適用対象
Persist(TimeSpan)
指定したタイムアウト間隔を使用して、ワークフロー インスタンスをインスタンス ストアに永続化します。
public:
void Persist(TimeSpan timeout);
public void Persist(TimeSpan timeout);
member this.Persist : TimeSpan -> unit
Public Sub Persist (timeout As TimeSpan)
パラメーター
- timeout
- TimeSpan
操作が取り消され、 TimeoutException がスローされるまでに、永続化操作を完了する必要がある間隔。
例
次の例では、ワークフローが開始される前にワークフロー インスタンスを永続化する Persist を呼び出します。
WorkflowApplication application = new WorkflowApplication(activity);
application.InstanceStore = instanceStore;
//returning IdleAction.Unload instructs the WorkflowApplication to persists application state and remove it from memory
application.PersistableIdle = (e) =>
{
return PersistableIdleAction.Unload;
};
application.Unloaded = (e) =>
{
instanceUnloaded.Set();
};
//This call is not required
//Calling persist here captures the application durably before it has been started
application.Persist();
id = application.Id;
application.Run();
instanceUnloaded.WaitOne();
注釈
ワークフロー インスタンスが永続化から以前に読み込まれた場合、ワークフローの読み込みに使用されるのと同じ InstanceStore が永続化に使用されます。 ワークフローが作成され、まだ永続化されていない場合は、このメソッドを呼び出す前に InstanceStore を構成する必要があります。そうしないと、このメソッドが呼び出されたときに InvalidOperationException がスローされます。