2009-08-04 9 views
4

ポーリングを使用して、Webサーバーに接続されているクライアントなど、一部のソースからの更新を調べることができます。 WCFは、クライアントへの接続を維持し、その接続を自由に呼び出すことができる、Duplex契約の方法で素晴らしい機能を提供します。 オフィスでは、両方のソリューションのメリットについて議論していましたが、それぞれの戦略が最もよく使用されたときにフィードバックを得たいと思っていました。(Webサービスのコンテキストで)ポーリングするかどうかを指定します。

答えて

2

ポーリングの代わりにイベントベースのメカニズムを使用します。 WCFでは、Juval Lowyが自分のウェブサイトで提供するPublish-Subscribeフレームワーク、IDesign.netに従うことで、簡単にこれを行うことができます。

2

あなたはいくつ持っているかによって部分的に異なります。

1,000,000人のユーザーがいるとすれば、そのセッションを多く維持することに問題があるとします。

システムが1000回のポーリング要求に応答できる場合、1秒ごとに各クライアントは1000秒ごとにポーリングできます。

0

シラーズはこれを釘付けにしたと思うが、もう2つ言いたいと思っている。

  1. 私は二重性 契約に問題がありました。 あなたのアヒルはすべて、 コールバックチャンネルに関して... などを確認してください。IDesign.netのものは の最小配管量になりますコード を含める必要があります。
  2. それは(これは、特定の の状況でのみ適切である)ソリューション のために理にかなっている場合は、MSMQバインディングは (二重のような)非同期的にサービス にデータを送信するために、クライアント、 が、サービスができます メッセージの "ポーリング"ではありません... が届きました。 アンダーカバーの配管を通してキューに入ったときに通知されます。通信 の大半は一方通行である場合

    あなたの周り 通信をオンにする力のこの種は、(クライアントは、サーバがクライアントになり サーバーとなり)、しかし 、これは利益の多く を提供します。もう1つの利点 ここに明らかにキューに入れられた 通信 - サーバは ダウンすることができ、どんなメッセージも見逃すことはありません... それは戻ってくるときにそれらを選ぶでしょう

何かについて考えてください。

+0

また、MSMQとの双方向通信が必要な場合は、両方のエンドポイントを個別に実装する必要があります。サービスにはクライアントとサービスがあり、クライアントにはサービスとクライアントがあります(そのようにして、両方ともメッセージを送受信できます)。 –

関連する問題