2012-01-10 24 views
3

ワークフロー(WF4)を取得して長期実行WCFサービスを呼び出し、WCFサービスが完了すると処理を再開しようとして問題が発生しました。下の図は私が達成しようとしているものの概要を示しています。このシナリオ(または非常に似たようなもの)を示すサンプルで私を指摘できれば、非常に感謝しています。情報のために、私はWFの例をたくさん見てきましたが、実際には役に立たなかったのです。WF4呼び出しWCFサービス

enter image description here

+0

:あなたはここにこのことについて読むことができますか? – Will

+0

こんにちは、WFSH(ワークフローサービスホスト)でホストされているワークフローから通常のWCFサービスを呼び出そうとしています。 – user321271

答えて

0

あなたが相関関係を検討したことがありますか?これはWF4によって処理されますか? WF3では、これは箱から提供されませんでした。これは、長時間実行されているサービスからリクエストを送信した場合、WF3は応答メッセージをルーティングするワークフローのインスタンスが何もわからないことを意味します。

WCFからのコールバックは、「待機中の」ワークフローインスタンスにルーティングされません。

UPDATE

を使用すると、コールバックメッセージに相関トークンを書いていますか?

UPDATE

私はWF4のユーザーではないよと私は例がありません申し訳ありません。この機能を提供していなかったので、WF3に相関を実装する必要がありました。これを行うために、ワークフローインスタンスGUIDに相関値をマップしたルックアップサービスを作成し、インバウンドコールはwsHttpContextBindingを介して特定のインスタンスをターゲットにすることができました。

ただし、WF4を使用すると、送信および受信ベースの各アクティビティで相関を初期化して従うことができます。 WCFワークフローやカスタムアクティビティの拡張機能を使用して

http://blogs.msdn.com/b/endpoint/archive/2010/01/04/what-s-a-correlation-and-why-do-i-want-to-initialize-it.aspx

http://msdn.microsoft.com/en-us/library/ee358755(VS.100).aspx

+0

こんにちは、私たちは、Send + ReceiveReplyForSendメッセージングアクティビティをCorrelationScopeコンテナ内で使用しようとしています。 CorrelationScopeコンテナアクティビティが応答メッセージをルーティングすることを期待しています。 – user321271

+0

別の可能性で私の答えを更新しました。彼らは現在、WF4で相互に懇願応答のコミュニケーションを提供しているようです。 –

+0

こんにちはヒュー、コールバックメッセージに相関トークンを書き込む例がありますか? WCFサービスでは、私は単にOperationContext.Current.GetCallbackChannel ()を使用しています – user321271

関連する問題