2011-05-10 8 views
2

システムのデータを頻繁に更新するWebアプリケーションを検討しています。当初、データはシステムの圧力、流量などに限定されていましたが、このコンセプトは当社の多くの分野に当てはまる可能性があります。データはSQL Serverに格納されます。HTML5以外のブラウザにどのようにアップデートをプッシュしますか?

質問は、新しいデータがデータベースに挿入されたときに、Webページのテーブルを強制的に更新することです。たとえば、ポンプは新しい流量値を報告します。データベースの更新を抑えることができますが、現実的には、1〜2分ごとに新しいアップデートを検討しています。

プッシュ通知が使用されるケースのようですが、ASP.NETで何が使えますか?ウェブソケットを使っていくつかのプッシュデモを見てきましたが、HTML5は問題ありません。

  1. ASP.NETに使用できるプッシュ技術はありますか?
  2. もしそうでない場合、またはそれがより良い解決策であれば、データベースをjQuery/AJAXでポーリングする必要がありますか?私たちが見なければならないサンプルの提案はありますか?

答えて

0

ポーリングによるajaxが最適な解決策です。あなたは、これは非常に簡単にすることができASP.NET、AJAXコントロールに建てられたのいくつかを使用しているので

:あなたはこののより良い仕事をしたい場合は

http://ajax.net-tutorials.com/controls/timer-control/

は、あなたが作成検討するかもしれません生のJavaScriptまたはJQueryフレームワークを使用してajaxリクエスト/更新を処理します。 ASP.NET ajaxはフルページビューステートをサーバーに返送するため、これは言うまでもありません。非効率的で通常は不要です。

0

Comet」は、探している技術です。それは基本的に、あなたが求めているようなことをするために人々が思いついた技術のほんの一握りです。これらの技術の中で最も簡単なものは、ブラウザーに、サーバーに常に知っておくべき更新があるかどうかを常に要求することです。最も汎用性の高い(しかし複雑な)技法は、動的スクリプトリソースを参照する埋め込みタグを巧みに使用することを含む。

0

UpdatePanelと組み合わせてASP.NET Timerコントロールを使用して、定期的に新しいデータをチェックしてからUpdatePanelを更新することができます。

1

HTTPを使用すると、クライアントのクエリに対してのみ応答を送信できるため、Webソケットなしでコンテンツをプッシュすることはできません。多くの場合、クライアント上でページを更新し、新しいデータがある場合、サーバーがページを生成有する任意の

  • がある場合
    最も一般的なソリューションは、変更のためのサーバーとテーブルを更新

    • ポーリングしています。

    クライアントがデータを取得しないため、後者の方法はコンテンツをプッシュするのに最も適していますが、クライアント側のデータを操作する場合は、データのみを取得する方がよいでしょう。
    後者の利点は、サーバーがデータを処理してプレーンファイルに変換し、サーバーを開くたびにページを作成するのではなく、多くのクライアントに簡単にサービスを提供できることです。