1

シナリオは以下のとおりです。WCF要求を複数のWorkflowインスタンスと相関させる方法を教えてください。

WCF要求を使用してワークフローサーバーに自分自身を登録して、何らかの通知を受信できる複数のクライアントがあります。通知の情報は、別の受信アクティビティを使用して外部システムから受信されます。その後、ワークフローは通知情報を取得し、登録アクティビティとコールバック相関を使用して登録されたすべてのクライアントにコールバックする必要があります(クライアントはそこに実装されたコールバックインターフェイスと、登録リクエストで最初に渡されたエンドポイントアドレスです)。 「ログ実行ワークフローサービス」アプローチは、永続的なストレージで使用されます。

ここでは、外部システムから受信した通知の受信情報を、登録要求時に以前に作成した永続化されたワークフローインスタンスと関連付ける方法を探しています。そのため、すべてのクライアントに、すでに登録要求に合格しています。 WF 4.0は、エンドポイントを何らかの方法で手動で保存せずに受信した通知の情報を受信して​​も、複数のワークフローインスタンスを再開して実行できますか?はいの場合、どうすればいいですか?

また、そうする私のアプローチが正しくない場合は、WCFサービスを使用してそのようなシステムを実行するベストプラクティスについて助言してください。

お手数をおかけしますようお願い申し上げます。

答えて

1

ワークフローサービスとの要求相関を使用する場合、相関キーは常に単一のワークフローインスタンスと一致する必要があります。複数のワークフローインスタンスを1つのメッセージに反応させることはできません。そのため、異なる相関キーを使用してメッセージをマルチキャストするか、他の方法でワークフローインスタンスを再開する必要があります。その別の方法は、SQLテーブルのように要求をどこかに格納し、ワークフローがクライアントに通知する必要がある場合に定期的にその場所を確認させることです。

関連する問題