次の方法で共有


Windows Workflow Foundation の新機能

このトピックの内容は、Windows Workflow Foundation 4 に該当します。

.NET Framework Version 4 の Windows Workflow Foundation (WF) では、前のバージョンから開発パラダイムがいくつか変更されました。ワークフローでは、新しい機能のホストの作成、実行、保守、実装が簡単になっています。

ワークフロー アクティビティ モデル

アクティビティは、現在はワークフロー作成の基本単位であり、SequentialWorkflowActivity クラスや StatemachineWorkflowActivity クラスは使用されなくなっています。Activity クラスは、ワークフロー動作の基本抽象クラスです。このため、アクティビティの作成者は基本的なカスタム アクティビティ機能用に CodeActivity を実装したり、一定範囲のランタイムを使用するカスタム アクティビティ機能用に NativeActivity を実装したりできます。また、アクティビティの作成者は Activity を使用して、他の NativeActivity オブジェクト、CodeActivity オブジェクト、AsyncCodeActivity オブジェクト、または DynamicActivity オブジェクトによって新しい動作を宣言して表します。このオブジェクトは、カスタムに開発されたものである場合と、.NET Framework 4 ビルトイン アクティビティ ライブラリ に含まれているものである場合があります。

豊富な複合アクティビティ オプション

Flowchart は新しい強力な制御フロー アクティビティです。作成者は、これを使用して任意のループや条件分岐をモデル化できます。また、Flowchart により、以前は StateMachineWorkflowActivity でのみ実装が可能であったイベント ドリブン プログラミング モデルを使用できます。手続き型のワークフローでは、TryCatchSwitch などの従来のフロー制御構造をモデル化する新しいフロー制御アクティビティを利用できます。

拡張ビルトイン アクティビティ ライブラリ

アクティビティ ライブラリには、次のような新しい機能があります。

明示的なアクティビティ データ モデル

.NET Framework 4 には、データを格納および移動するための新しいオプションがあります。データは、Variable を使用してアクティビティに格納できます。データをアクティビティに移動したり、アクティビティから移動したりするときは、特殊な引数型を使用してデータの移動方向が判定されます。これらの型は、InArgumentInOutArgumentOutArgumentです。詳細については、次のトピックを参照してください。Windows Workflow Foundation のデータ モデル.

ホスティング、永続化、追跡の強化されたオプション

.NET Framework 4 には、次のような永続化の拡張機能があります。

  • WorkflowServiceHostWorkflowApplicationWorkflowInvoker などの、ワークフローを実行するための多数のオプションがあります。

  • Persist アクティビティを使用してワークフロー状態データを明示的に永続化できます。

  • ホストは、ActivityInstance をアンロードせずに永続化できます。

  • ワークフローは、永続化できないデータを処理するときは非永続化ゾーンを指定できます。このため、非永続化ゾーンを終了するまで永続化は延期されます。

  • トランザクションは、TransactionScope を使用してワークフローに流し込むことができます。

  • 追跡は、TrackingParticipant を使用して、簡単に実行できます。

  • システムのイベント ログへの追跡は EtwTrackingParticipant を使用して実現されます。

  • 保留中のワークフローの再開は、Bookmark オブジェクトを使用して管理されるようになりました。

WF デザイナー エクスペリエンスの容易な拡張

新しい WF デザイナーは Windows Presentation Foundation (WPF) に基づいて構築されており、Visual Studio の外部で WF デザイナーを再ホストするときに簡単に使用できるモデルです。また、カスタムのアクティビティ デザイナーを作成するための使いやすいメカニズムを備えています。詳細については、次のトピックを参照してください。ワークフロー デザイン操作のカスタマイズ.

参照

その他のリソース

4 に向けて - ベータ 1 と CTP における WF の変更点