2009-06-10 15 views

答えて

7

私はInvokeWorkflowActivityがあなたが探しているかもしれないと思います。私は他のワークフローの中からワークフローを起動するためにそれを使用しましたが、うまく機能します。

新しいワークフロー(すべてのワークフローと同じ)が非同期に実行されるため、「親ワークフロー」は子ワークフローを開始した直後に引き続き実行されることに注意してください。

(何らかの理由で)InvokeWorkflowActivityを使用できない場合(たとえば、親ワークフローから呼び出されたサービス内のコードから新しいワークフローを開始する場合など)は、ワークフローランタイムインスタンスを取得します。

このシナリオに近づいたのは、サービスインターフェイスでイベントを宣言し、サービスがランタイムに追加されたときにワークフローホストがそのイベントにリスナーをアタッチさせることです。次に、(イベントを発生させることによって)サービスから呼び出すことができるコードポイントを取得し、そのコードポイントはランタイムにもアクセスします。新しいワークフローを立ち上げるために必要なものはすべてあります。

+0

私はそれでチャンスをうかがっていた...それは私がそのオブジェクトを作成するように、割り当てに見えますTargetWorkflow、パラメータバインディングを割り当て、次に世界でどのように実際に実行が開始されますか? – Chris

+0

アクティビティは、実行中にワークフローを開始します。あなたは何らかの方法を呼び出すことによってそれを始める必要はありません。 –

+0

助けてくれてありがとう。このメソッドの良い例はありますか?作成されたワークフローが少なくとも「初期化」されているように見えますが、私はすぐにヒットしなければならないコードアクティビティでConsole.Writelinesを2つ試してみると、それが始まるのを見ていません。 – Chris

関連する問題