現在、データベースからすべてのデータを取得してグリッドにバインドするWCFメソッドがありますが、このメソッドを定期的に呼び出して、更新されたデータを毎回取得し、ユーザーにリアルタイムデータを表示したいと思います。これについて最善の方法は?
前もって感謝します。
うーん、
アプリケーションの機能がわからないのですが、こんな感じでやってみませんか?
ここで、dbを更新するには、グリッドがそのアプリケーションレベルのストレージまたはデータグリッドから10行などを追加したときに、dbを更新してみませんか。
これでパラプラの答えを確認してください 質問 。
このアプローチはロングポーリングと呼ばれ、シンプルであり、サーバー側から利用できるときに必要なデータを提供します。
このブログを確認してください より詳細なサンプルクラスについては。
私はbackgroundworkerスレッドを作成し、それを無限ループに入れます。指定された期間(おそらく2秒?)が経過し、前のリクエストの結果をまだ待っていない場合は、リクエストを非同期でサービスに送信できます。完了イベントが発生したら、UIを更新します。
とは言っても、大量のデータが含まれている場合は、最後に受け取ったデータと現在のデータ(つまり、追加、更新、削除)の違いのみを取得できる方法があったかどうかを確認します。毎回再バインドするのではなく、グリッドデータにこれらの変更を加えるだけです。