ポーリングを使用して、Web サーバーに接続されたクライアントなど、何らかのソースからの更新について調べることができます。WCF は、Duplex コントラクトの方法で気の利いた機能を提供します。これにより、クライアントへの接続を維持し、その接続で自由に呼び出しを行うことができます。オフィスの何人かが両方のソリューションのメリットについて議論していたので、それぞれの戦略が最適な時期についてフィードバックを得たいと思いました。
3 に答える
ユーザーの数によって部分的に異なります。
1,000,000 人のユーザーがいて、その数のセッションを維持するのに問題があるとします。
ただし、システムが 1 秒あたり 1000 のポーリング要求に応答できる場合、各クライアントは 1000 秒ごとにポーリングできます。
ポーリングの代わりにイベントベースのメカニズムを使用します。WCF では、Juval Lowy が彼の Web サイトIDesign.netで提供している Publish-Subscribe フレームワークに従うことで、これを簡単に行うことができます。
シラーズはこれを釘付けにしたと思いますが、もう2つ言いたかったのです。
- デュプレックス契約で問題が発生しました。コールバックチャネルに関しては、すべてのアヒルを一列に並べる必要があります...開いていることなどを確認する必要があります。IDesign.netのものは、最小限の配管コードになります。含める。
ソリューションにとって意味がある場合(これは特定の状況でのみ適切です)、MSMQバインディングにより、クライアントは非同期方式(Duplexなど)でデータをサービスに送信できますが、サービスはメッセージを「ポーリング」しません。 ..カバーされていない配管を通ってキューに入ると通知が届きます。
この種の場合、通信を方向転換する必要があります(クライアントがサーバーになり、サーバーがクライアントになります)が、通信の大部分が一方向である場合、これは多くの利点を提供します。ここでの他の利点は、明らかにキューに入れられた通信です。サーバーがダウンしていて、メッセージを見逃すことはありません...オンラインに戻ったときにそれらをピックアップします。
考えるべきこと。