2

私のプロジェクトでは、ユーザーが実行時にワークフローを動的に変更できるオプションを実装する必要があります。より具体的には、ワークフローが一連のアクティビティを通過する場合、アクティビティA、B、Cを考えてみましょう。 A→B→Cに進むのではなく、A→CがBをスキップして直接行くことができます。そして、この流れの変化は実行時に起こるはずです。実行中のWF 4.0ワークフローの動的更新

アクティビティ(上記のA、B、C)は20〜30までのアクティビティがあります。ユーザーはアクティビティに行くオプションを選択する必要があります。実行時にフローを編集するオプションが必要です。

このオプションは、Windowsワークファンデーション(WF)で利用できますか?事前に

おかげ

答えて

2

WF4を使用している瞬間、実行中のワークフローインスタンスのワークフロー定義を変更することはできません。したがって、ワークフローを開始する前にワークフローを変更するか、ワークフローの条件付きロジックを使用してワークフローの可能な変更をモデル化する必要があります。

ワークフローの次のバージョンでは、実行中のワークフローの変更がサポートされますが、それが利用可能になる時期は不明です。すぐにそれを期待しないでください。

1

キャプチャワークフローは、あなたは活動Bを実行するかどうかを決定するifElse活動を使用し、それにアクセスできるような方法でユーザーの決定。

あなたの質問が全く間違っていない限り、これは単なる通常のワークフローモデリングです。

編集:あなたのコメントに対する回答として、おそらくその要件に対する解決策を考え出すことができますが、それはワークフローエンジンの目的に反するため、かなり醜いでしょう。

あなたが好きなものを選択できるユーザーのショッピングカートのようなワークフローを扱う場合、それはもはやワークフローではありません。少なくとも、混乱するのに意味のないいくつかの一貫したステップがあるはずです。だから、これらを別々のワークフローに入れて、次に自分がやりたいワークフローをユーザーに決めさせるのは理にかなっていますか?

+1

はい、上記の3つ以上のアクティビティ(上記のA、B、C)があると間違っています。アクティビティは20-30まで可能性があります。ユーザーは、アクティビティ、または実行時にフローを編集するオプションが必要であると言うことができます。 – Everest

0

1つのアクティビティにつき1つのファンクタを作成し、リスト上で実行するアクティビティを保存することを考えます。このリストは実行時に変更されます。 "コア"は、リストを解析してファンクタを実行するだけで済みます。

関連する問題