1

ワークフロー サービス ホストでホストされているワークフローがあり、特定のセクションを通る 3 つのパスのいずれかを持つことができます。3 つの PickBranch アクティビティを含む Pick アクティビティで作成しました。3 つのうち 2 つにはトリガーとして ReceiveSendReply があり、1 つには Delay があります。

この時点で、いずれかの receive を呼び出してワークフローを続行できますが、遅延をタイムアウトさせようとすると、タイムアウトになりません。バニラの並列アクティビティでも試してみました。繰り返しますが、いずれかの受信でワークフローが前進しますが、遅延がタイムアウト/トリガーすることはありません。

私が読んだことはすべて、それが機能する必要があることを示唆していますが、そうではありません。ワークフロー トレース ログを調べたところ、遅延が発生していることがわかりますが、戻ってきません。

146: Activity [160] "Delay Sequence" scheduled child activity [201] "Delay"
147: Activity [201] "Delay" is Executing
{
    Arguments
        Duration: 00:10:00
}

これをモデル化できる他の方法はありますか?ピックは私が必要とすることをするはずですが、私はそれを機能させることができません. 完全を期すために、私は非常に単純なアプリケーションを作成しました。ここでは、2 つの受信をピック ブランチのトリガーとして、遅延を別のトリガーとしてモデル化し、そこで動作します...

どんな助け/アイデアも大歓迎です。ありがとう!

4

2 に答える 2

1

私が見つけたのは、CorrelationInitializer を間違った場所に配置したことであり、Delay のコールバック メカニズムに干渉したようです。イニシャライザを自分が行っていたことに適した場所に移動すると、遅延が機能し始めました。ご協力いただきありがとうございます。

于 2012-10-22T12:19:45.957 に答える
0

ワークフローは永続化され、アンロードされましたか? 遅延アクティビティはそれをトリガーしますが、サービスで実行していない場合は、ワークフローのロードを自分で処理する必要がある場合があります。これは、アンロードされているためです。

于 2012-10-19T11:46:07.533 に答える