2

サブ ワークフローのクラス ライブラリを開発中です。サブワークフローの作成に使用するアクティビティのセットがあります。これらのサブ ワークフローを、実際のワークフローの作成に使用できる再利用可能なワークフローとして開発したいと考えています。私は基本的に、実際のビジネス ワークフローを作成するために他のユーザーが使用できる既存のワークフローのクラス ライブラリを実装しています。私が望むのは、ユーザーが 1 つのサブ ワークフローを作成すると、それが自動的にワークフローのクラス ライブラリに追加され、コンパイルされ、実行時に再利用可能なコンポーネントとして利用可能になるはずです。

4

2 に答える 2

1

私はあなたの目標を理解していると信じていますが、あなたが信じているほど簡単ではありません.

最初の本能は、アクティビティをソリューションに追加し (追加 => 新しいアイテム => ワークフロー => アクティビティ)、他のアクティビティをデザイン サーフェイスにドラッグすることです。

これにより、再利用可能なワークフローが作成されますが、残念ながら、関連付けられた Designer はありません。そのため、別のユーザーがこれらのワークフローをツールボックスからドラッグして別のソリューションのワークフローで使用しようとすると、次のようになります。

デザイナーの失敗

それはまったく役に立ちません。別の方法は、 IActivityTemplateFactoryを実装するカスタム アクティビティを作成することです。このタイプ (と私は信じています*) をツールボックスに追加できます。それらをデザイン サーフェイスにドラッグすると、Createメソッドが呼び出されます。このメソッド内で、任意のワークフローを作成して返すことができます。このアクティビティ ツリーがワークフローに追加され、その中のすべてのアクティビティが表示されます。

*ツールボックスに表示するには、Activity を拡張する必要がある場合もあります。それについてはよくわかりません。アクティビティは、実際には使用されないダミーと考えてください。

于 2011-04-18T15:36:38.050 に答える
0

これも役に立つかもしれません

http://blogs.msdn.com/b/mwinkle/archive/2009/12/24/swiss-cheese-and-wf4-or-an-introduction-to-activityaction.aspx

WF 3 の顧客から頻繁に要求された 1 つのシナリオは、テンプレートまたは「グレー ボックス」または「穴のあるアクティビティ」を含める機能でした (上のスイスチーズの写真はそのためです)。WF4 では、ActivityAction を呼び出す方法でこれを行いました。

于 2011-04-29T18:17:40.240 に答える