ReceiveAndSendReply アクティビティ ファクトリを使用すると、CorrelationHandle を使用して、Receive アクティビティ、SendReply アクティビティ、および Receive アクティビティの要求と応答の相関イニシャライザを取得します。
この相関は何のために必要ですか?Request-Reply Correlationによると:
Receive/SendReply ペアは、ワークフロー サービスで双方向操作を実装するために使用されます。ランタイムは、要求と応答の関連付けを使用して、応答が正しい呼び出し元にディスパッチされるようにします。ワークフロー サービスの場合のように、ワークフローが WorkflowServiceHost を使用してホストされている場合は、デフォルトの相関初期化で十分です。
と
Receive アクティビティは、WorkflowServiceHost によってホストされるワークフロー サービスでのみ使用できますが、Send と Send/ReceiveReply のペアは、Web サービスでメソッドを呼び出す必要があるワークフローで使用できます。
Receive/SendReply を WorkflowServiceHost でのみ使用でき、明示的な要求と応答の相関の初期化が WorkflowServiceHost で必要ない場合、相関初期化子とハンドルを単純に削除できますか? それとも、私が見ていないいくつかの利点がありますか?
SendAndReceiveReply ファクトリについて質問しているわけではありません。これもリクエストとリプライの相関イニシャライザを使用していますが、その必要性は理解できると思います。
私は Workflow Foundation を使い始めたばかりなので、明らかな答えをすでに除外していると思い込まないでください。やってみましたが、見落としがあるかもしれません。私がリンクしたページには、明示的な相関初期化子を使用した Receive/SendReply ペアの例も含まれています。そこにも利点は見られません。