4

2 つの異なるタイプのクライアントで使用される共通の WCF サービスを構築しています。1 つは通常の双方向 http バインディングを使用し、もう 1 つは MSMQ バインディングを使用します。MSMQ バインディングは 1 つしか実行できないことを意味するためですWay Messages、このシナリオによると、私の質問は

  1. 両方のクライアントに同じコントラクトを使用する可能性はありますが、コントラクトには双方向通信のメッセージがあります。

  2. MSMQ で双方向通信を実現する方法はありますか。

  3. MSMQ が保証付き配信にのみ使用されている場合、保証付き配信の代替手段となるものは何ですか。サーバーとクライアントの間で不安定な接続が発生する可能性があります。

4

1 に答える 1

3
  1. 可能性はありません。MSMQ 用と HTTP 用の 2 つのサービス コントラクトが必要です。
  2. いいえ。MSMQ を介した双方向 = サービス用に 1 つのキューと、クライアントが独自の MSMQ サービスを公開して自分のキューからメッセージを読み取るクライアントごとに 1 つのキュー。
  3. 保証された配信は MSMQ でのみ利用できます。これは、不安定な接続だけでなく、サービスが実行されていないことも保証されるためです (メッセージは、サービスが起動して実行されるまでキューに保持されます)。HTTP を介した不安定な接続に対処する必要がある場合は、WS-Reliable メッセージング (カスタム バインディングまたは で使用可能wsHttpBinding) が必要ですが、サーバーとクライアントの両方が実行されている場合にのみ機能するため、保証された配信とは異なります。
于 2011-08-03T10:00:39.800 に答える