次の方法で共有


Windows ワークフローの概要

ワークフローは、実際のプロセスを記述するモデルとして格納される アクティビティ と呼ばれる要素単位のセットです。 ワークフローは、実行順序と、実行時間の短い作業または実行時間の長い作業の一部間の依存関係を記述する方法を提供します。 この作業は最初から最後までモデルを通過し、アクティビティはユーザーまたはシステム関数によって実行される可能性があります。

ワークフロー ランタイム エンジン

実行中のすべてのワークフロー インスタンスは、ホスト プロセスが次のいずれかを通じて対話するインプロセス ランタイム エンジンによって作成および管理されます。

  • メソッドのようにワークフローを呼び出す WorkflowInvoker

  • 1 つのワークフロー インスタンスの実行を明示的に制御するための WorkflowApplication

  • マルチインスタンス シナリオでのメッセージ ベースの対話の WorkflowServiceHost

これらの各クラスは、アクティビティの実行を担当する ActivityInstance として表されるコア アクティビティ ランタイムをラップします。 アプリケーション ドメイン内には、複数の ActivityInstance オブジェクトが同時に実行されている場合があります。

上記の 3 つのホスト相互作用オブジェクトはそれぞれ、ワークフロー プログラムと呼ばれるアクティビティのツリーから作成されます。 これらの型または ActivityInstanceをラップするカスタム ホストを使用すると、コンソール アプリケーション、フォーム ベースのアプリケーション、Windows サービス、ASP.NET Web サイト、Windows Communication Foundation (WCF) サービスなど、任意の Windows プロセス内でワークフローを実行できます。

44c79d1d-178b-4487-87ed-3e33015a3842ホスト プロセス
ホスト プロセスのワークフロー コンポーネント

ワークフロー コンポーネント間の相互作用

次の図は、ワークフロー コンポーネントが相互に対話する方法を示しています。

ワークフロー コンポーネントの相互作用を示す図。

上の図では、WorkflowInvoker クラスのInvoke メソッドを使用して、複数のワークフロー インスタンスを呼び出しています。 WorkflowInvoker は、ホストからの管理を必要としない軽量ワークフローに使用されます。ホストからの管理を必要とするワークフロー ( Bookmark 再開など) は、代わりに Run を使用して実行する必要があります。 あるワークフロー インスタンスが完了するのを待ってから、別のワークフロー インスタンスを呼び出す必要はありません。ランタイム エンジンは、複数のワークフロー インスタンスの同時実行をサポートします。 呼び出されるワークフローは次のとおりです。

こちらも参照ください