ディストリビューターからジョブを取得するワーカーとして機能し、ある種のメッセージをサブスクライブするようにエンドポイントを構成することは可能ですか?
私は次のシナリオを持っています(販売用語に適合)
*)中央部門は時々新しい価格のリストを公開します。すべての労働者に通知する必要があります。つまり、ワーカーはこのイベントにサブスクライブする必要があります。
*)新しい注文がセントラルに到着すると、ディストリビューターに送信され、ディストリビューターは次のアイドル状態のワーカーに送信して処理します。つまり、ディストリビューターからメッセージを受信するようにワーカーを構成する必要があります。次の構成を使用します。
<MsmqTransportConfig
InputQueue="worker"
ErrorQueue="error"
NumberOfWorkerThreads="2"
MaxRetries="5"
/>
<UnicastBusConfig
DistributorControlAddress="distributorControlBus"
DistributorDataAddress="distributorDataBus" >
<MessageEndpointMappings>
<add Messages="Events" Endpoint="messagebus" />
</MessageEndpointMappings>
</UnicastBusConfig>
ワーカーとしてのみ、またはサブスクライバーとしてのみ構成すると、すべてが期待どおりに機能しますが、両方として構成した場合は機能しません。
中央の入力キューに、ディストリビューターのアドレスがワーカーアドレスではなくリターンアドレスとしてメッセージが到着し、この場合、パブリッシャーはサブスクライバーを認識しないことを発見しました。何か案は?前もって感謝します。