2012-01-17 30 views
2

私はGridViewを持っていると言うと、GridViewはWCFを通してデータベースからのデータを表示します。私は考えることができるデータをSilverlightに保存するにはどうすればよいですか?

唯一の方法は、WCF(最も簡単)からのクエリに保つために

  1. タイマーを使用しています。

  2. データベースのデータが変更されたときに通知を受け取るようにすると、クエリ通知が使用されます。しかし、今度は WCFがSilverlightクライアントとデータベースの中間にあります。 です。そのため、クエリ通知はWCFだけになります。次に、WCFがデュプレックス通信を使用するようにするには が必要です。 (...やり過ぎのような音)

  3. [更新]ボタン....(これは冗談です)

それを行う任意のより良い方法はありますか?

答えて

0

私は医療ソフトウェアを作っている会社で働いていましたが、私たちは医者や注文を監視し、常に更新する必要のあるアプリケーションを持っていました。上記のようにタイマーを使用しました。例えば、ソフトウェアのサンプリングレートを変更することができ、繁忙期にDBをより頻繁にpingすることができるように、いくつかの余分なコンポーネントがありました。キャッシングも同様に実装されました。少量のデータを先に引っ張り、必要な場合にのみもっと引き出すシステムもありました。たとえば、最後の更新以降、医師がラウンドを行っていない場合、患者データが更新されたかどうかを確認する必要はありませんでした。そのようなもの。

+0

はい、私はそのような同様の実装を見ました。私たちは小さなテーブルを持っていました。このテーブルは、データテーブルに何らかの変更があるかどうかを示し、データベーステーブルをバージョン管理します。したがって、データが変更された場合にのみ実際のデータを取得します。異なるサンプリングレートのタイマーは良いアイデアです、それは帯域幅の多くを節約します。しかし、私は2と似たものがあるかどうかを見たいと思っています。実際にはプルする必要があるときにデータをプルするだけなので、データベース(またはここではWCF)にpingを続ける必要はありません。 –