0

2 つの XAML ワークフロー (WF1 と WF2) がある状況があります。WF1 は WF2 のスーパーセットです。したがって、WF2 はシステム内で WF1 とは独立して実行されますが、WF1 の実行時に WF2 を WF1 のスコープ内で実行する必要があります。基本的に WF1 の終わりに向かってブックマークがあり、そのブックマークの再開時に WF2 を実行する必要があります。

どちらも共有リソースで動作し、これらの WF の異なるインスタンスを共有リソースで同時に実行することはできません。これを処理するキューイング メカニズムが用意されています。

私がやりたいことは、この実行を設計時に何らかの形で WF1 に組み込むことです。したがって、WF2 をロードするアクティビティをコーディングするか、何らかの方法で WF2 をコード化されたアクティビティに変換し、WF1 などにドロップする必要があります。WF2 をほとんどコピーして WF1 デザイナーにドロップする必要はありません。また、WF2 を実行するために WF1 内で別のホスト プロセスを開始する必要もありません。

基本的に、WF1 と WF2 は両方とも WorkflowServiceHost の下で実行されます。これらは従来のサービス WF ではなく (送受信アクティビティがないため)、WCF サービスとして公開される通常の WF です。両方の WF が恩恵を受ける永続性、追跡などに関して、WorkflowServiceHost に多くのカスタマイズが行われています。WF1 内で WF2 を開始するためにどのようなメカニズムを採用しても、これらの利点が失われないようにしたいと考えています。

PS: これらの WF の実行をカスタマイズした方法を確認したい場合は、こちらのブログからサンプル コードをダウンロードできます。

4

1 に答える 1

3

技術的に言えば、ワークフローは単なるアクティビティです。そのため、WF1 と WF2 を含むプロジェクトをコンパイルし、WF1 を開くと、アクティビティ ツールボックスに WF2 が表示されます。それを WF1 にドラッグし、引数を接続するだけで準備完了です。

于 2012-08-19T08:01:25.830 に答える