MSMQ ベースの WCF PubSub を実装しようとしています。net.msmq が一方向であることは理解しています。ただし、基になるキューから読み取るための net.msmq エンドポイントと、リスナーがコールバックでサブスクライブするための net.tcp エンドポイントを実装するために単一のサービス オブジェクトを使用すると、一方向 vs.双方向、DuplexChannelFactory、DuplexClientBase など。
これを実装する唯一の方法は、net.msmq キュー読み取りサービスを net.tcp パブリッシャー サービスのクライアントにし、メッセージをパブリッシュするのではなく、新しいメッセージがキューから読み取られたときにパブリッシャーに通知することです。内部のサブスクライバーに。または、レシーバーで net.msmq を使用せず、代わりに単純な古い MessageQueue オブジェクトを使用するようにします。