WorkflowInstance.Unload メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
メモリ内のワークフロー インスタンスを永続ストアにアンロードします。 この呼び出しは、現在のスケジュール済み作業が完了するまで、またはトランザクション スコープが終了するまでブロックされます。
public:
void Unload();
public void Unload ();
member this.Unload : unit -> unit
Public Sub Unload ()
例外
ワークフロー ランタイム エンジンに登録されている永続性サービスがありません。
例
Unload オブジェクトでの WorkflowInstance の呼び出しを次の例に示します。
// Create a WorkflowRuntime object
WorkflowRuntime workflowRuntime = new WorkflowRuntime();
// Create a new instance of the out-of-box SqlWorkflowPersistenceService
SqlWorkflowPersistenceService persistenceService =
new SqlWorkflowPersistenceService(
"Initial Catalog=SqlPersistenceService;Data Source=localhost;Integrated Security=SSPI;");
// Add the service to the runtime
workflowRuntime.AddService(persistenceService);
// Create a WorkflowInstance object
WorkflowInstance workflowInstance = workflowRuntime.CreateWorkflow(typeof(Workflow1));
// Start the workflow instance
workflowInstance.Start();
//Unload the instance
workflowInstance.Unload();
' Create a WorkflowRuntime object
Dim workflowRuntime As New WorkflowRuntime()
' Create a new instance of the out-of-box SqlWorkflowPersistenceService
Dim persistenceService As _
New SqlWorkflowPersistenceService( _
"Initial Catalog=SqlPersistenceServiceData Source=localhostIntegrated Security=SSPI")
' Add the service to the runtime
workflowRuntime.AddService(persistenceService)
' Create a WorkflowInstance object
Dim workflowInstance As WorkflowInstance = workflowRuntime.CreateWorkflow(GetType(Workflow1))
' Start the workflow instance
workflowInstance.Start()
'Unload the instance
workflowInstance.Unload()
注釈
Unload は同期的です。つまり、実行するアクションが完了した後に制御が戻ります。 ワークフロー インスタンスがアイドル状態でない場合、ランタイムはインスタンスを中断できるまで待機します。 インスタンスを中断できるのは、現在のスケジュール済み作業項目の完了後のみです。この完了のタイミングは通常、現在実行中のアクティビティがその Execute メソッドから返されたときです。 ただし、インスタンスが TransactionScopeActivity を実行している場合、インスタンスを中断できるのは、トランザクション スコープが実行を完了してからです。 アンロードは次に、永続性サービスを使用することによって、メモリからワークフロー インスタンスを削除し、削除したワークフロー インスタンスをデータ ストアに永続化します。 WorkflowRuntime に登録された永続性サービスがない場合、Unload は InvalidOperationException をスローします。 ワークフロー インスタンスが正常に永続化されると、ランタイムは WorkflowUnloaded イベントを発生させます。
ホストは Unload を使用して、アイドル状態のワークフローのシステム リソースを再利用できます。
適用対象
.NET