WorkflowApplication.Unload メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ワークフロー インスタンスを永続化およびアンロードします。
オーバーロード
| 名前 | 説明 |
|---|---|
| Unload(TimeSpan) |
指定したタイムアウト間隔を使用して、ワークフロー インスタンスを永続化およびアンロードします。 |
| Unload() |
ワークフロー インスタンスを永続化およびアンロードします。 |
注釈
既定では、アンロード操作は 30 秒以内に完了する必要があります。または、 TimeoutException がスローされます。
ワークフロー インスタンスが永続化から以前に読み込まれた場合、ワークフローの読み込みに使用されるのと同じ InstanceStore が永続化に使用されます。 ワークフローが作成され、まだ永続化されていない場合は、このメソッドを呼び出す前に InstanceStore を構成する必要があります。そうしないと、このメソッドが呼び出されたときに InvalidOperationException がスローされます。
Unload(TimeSpan)
指定したタイムアウト間隔を使用して、ワークフロー インスタンスを永続化およびアンロードします。
public:
void Unload(TimeSpan timeout);
public void Unload(TimeSpan timeout);
member this.Unload : TimeSpan -> unit
Public Sub Unload (timeout As TimeSpan)
パラメーター
- timeout
- TimeSpan
操作が取り消され、 TimeoutException がスローされるまでにアンロード操作を完了する必要がある間隔。
例
この例では、ワークフローはアイドル状態で、ホスト アプリケーションはユーザー入力を待機しています。 ユーザーがアンロードを選択すると、 Unload が呼び出されます。 成功した場合、ワークフローは永続化され、メモリからアンロードされます。
// single interaction with the user. The user enters a string in the console and that
// string is used to resume the ReadLine activity bookmark
static void Interact(WorkflowApplication application, AutoResetEvent resetEvent)
{
Console.WriteLine("Workflow is ready for input");
Console.WriteLine("Special commands: 'unload', 'exit'");
bool done = false;
while (!done)
{
Console.Write("> ");
string s = Console.ReadLine();
if (s.Equals("unload"))
{
try
{
// attempt to unload will fail if the workflow is idle within a NoPersistZone
application.Unload(TimeSpan.FromSeconds(5));
done = true;
}
catch (TimeoutException e)
{
Console.WriteLine(e.Message);
}
}
else if (s.Equals("exit"))
{
application.ResumeBookmark("inputBookmark", s);
done = true;
}
else
{
application.ResumeBookmark("inputBookmark", s);
}
}
resetEvent.WaitOne();
}
注釈
ワークフロー インスタンスが永続化から以前に読み込まれた場合、ワークフローの読み込みに使用されるのと同じ InstanceStore が永続化に使用されます。 ワークフローが作成され、まだ永続化されていない場合は、このメソッドを呼び出す前に InstanceStore を構成する必要があります。そうしないと、このメソッドが呼び出されたときに InvalidOperationException がスローされます。
適用対象
Unload()
ワークフロー インスタンスを永続化およびアンロードします。
public:
void Unload();
public void Unload();
member this.Unload : unit -> unit
Public Sub Unload ()
例
この例では、ワークフローはアイドル状態で、ホスト アプリケーションはユーザー入力を待機しています。 ユーザーがアンロードを選択すると、 Unload が呼び出されます。 成功した場合、ワークフローは永続化され、メモリからアンロードされます。
// single interaction with the user. The user enters a string in the console and that
// string is used to resume the ReadLine activity bookmark
static void Interact(WorkflowApplication application, AutoResetEvent resetEvent)
{
Console.WriteLine("Workflow is ready for input");
Console.WriteLine("Special commands: 'unload', 'exit'");
bool done = false;
while (!done)
{
Console.Write("> ");
string s = Console.ReadLine();
if (s.Equals("unload"))
{
try
{
// attempt to unload will fail if the workflow is idle within a NoPersistZone
application.Unload(TimeSpan.FromSeconds(5));
done = true;
}
catch (TimeoutException e)
{
Console.WriteLine(e.Message);
}
}
else if (s.Equals("exit"))
{
application.ResumeBookmark("inputBookmark", s);
done = true;
}
else
{
application.ResumeBookmark("inputBookmark", s);
}
}
resetEvent.WaitOne();
}
注釈
既定では、アンロード操作は 30 秒以内に完了する必要があります。または、 TimeoutException がスローされます。
ワークフロー インスタンスが永続化から以前に読み込まれた場合、ワークフローの読み込みに使用されるのと同じ InstanceStore が永続化に使用されます。 ワークフローが作成され、まだ永続化されていない場合は、このメソッドを呼び出す前に InstanceStore を構成する必要があります。そうしないと、このメソッドが呼び出されたときに InvalidOperationException がスローされます。