次の方法で共有


WorkflowInstance.Terminate(String) メソッド

定義

ワークフロー インスタンスを同期式で終了します。

public:
 void Terminate(System::String ^ error);
public void Terminate (string error);
member this.Terminate : string -> unit
Public Sub Terminate (error As String)

パラメーター

error
String

ワークフロー インスタンスを終了する理由の説明。

例外

ワークフロー ランタイム エンジンが実行されていません。

WorkflowInstance オブジェクトに対する Terminate を呼び出す方法を次のコード例に示します。

// Create a workflow runtime
WorkflowRuntime workflowRuntime = new WorkflowRuntime();
// Create a workflow instance
WorkflowInstance workflowInstance = workflowRuntime.CreateWorkflow(typeof(Workflow1));
// Start the workflow
workflowInstance.Start();
// Terminate the workflow, passing in a message
workflowInstance.Terminate("Workflow manually terminated");
' Create a workflow runtime
Dim workflowRuntime As New WorkflowRuntime()
' Create a workflow instance
Dim workflowInstance As WorkflowInstance = workflowRuntime.CreateWorkflow(GetType(Workflow1))
' Start the workflow
workflowInstance.Start()
' Terminate the workflow, passing in a message
workflowInstance.Terminate("Workflow manually terminated")

注釈

ワークフロー インスタンスは同期式で終了します。 ホストは Terminate を呼び出すことによってワークフロー インスタンスを終了します。 ワークフロー ランタイム エンジンは、メモリ内のワークフロー インスタンスをクリアし、インスタンスがメモリからクリアされたことを永続性サービスに通知します。 SqlWorkflowPersistenceService の場合、これは、終了時にそのワークフロー インスタンスのすべての状態情報がデータベースから削除されることを意味します。 既に保存されている永続性ポイントからワークフロー インスタンスを再度読み込むことはできません。

メモリ内のワークフロー インスタンスがクリアされて永続性サービスに終了が通知されると、Terminate メソッドは WorkflowTerminated イベントを発生させ、reason に含まれる MessageWorkflowTerminatedException プロパティに WorkflowTerminatedEventArgs を渡します。

TerminateAbort と次の点で異なります。Terminate はメモリ内のワークフロー インスタンスをクリアして永続性サービスに終了を通知します。Abort はメモリ内のワークフロー インスタンスをクリアするだけで、最後の永続性ポイントからワークフロー インスタンスを再開できます。

適用対象