ワークフロー (WF4) で実行時間の長い WCF サービスを呼び出し、WCF サービスの完了時に処理を再開しようとすると問題が発生します。下の図は、私が達成しようとしていることの大まかな概要を示しています。このシナリオ (または非常に類似したもの) を示すサンプルを教えていただければ、非常にありがたいです。参考までに、実際には役に立たなかった WF から WF への例をたくさん見てきました。
1 に答える
相関関係を考えたことはありますか?これは WF4 によって処理されますか? WF3 では、これはそのままでは提供されませんでした。これは、長期間実行されているサービスから要求を送信した場合、WF3 は応答メッセージをルーティングするワークフローのインスタンスを認識できないことを意味していました。
関連付けがないと、WCF からのコールバックは「待機中」のワークフロー インスタンスにルーティングされません。
アップデート
相関トークンをコールバック メッセージに書き込んでいますか?
アップデート
申し訳ありませんが、私は WF4 ユーザーではないため、例がありません。この機能が提供されていないため、相関を WF3 に実装する必要がありました。これを行うために、相関値をワークフロー インスタンス GUID にマッピングする検索サービスを作成しました。これにより、受信呼び出しは、wsHttpContextBinding を介して特定のインスタンスをターゲットにすることができます。
ただし、WF4 を使用すると、すべての送受信ベースのアクティビティで関連付けを初期化して追跡できます。これについては、次の場所で読むことができます。
http://msdn.microsoft.com/en-us/library/ee358755(VS.100).aspx