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