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 の実行をカスタマイズした方法を確認したい場合は、こちらのブログからサンプル コードをダウンロードできます。