2009-05-08 19 views
2

私は価格比較サイトと同様のものを構築しています。これはASP.NET/WebForms/C#/ .NET 3.5で開発されます。このサイトは一般に公開されるため、クライアント側を制御することはできません。アプリケーションは、自分たちの人生の中核ではないので、作業を進めるために外出することはありません。(ASP.NET)Webページテーブル/グリッドの個々のセルに更新を「プッシュ」する方法は?

セル内の行、ベンダーの列、および価格の商品を表示するテーブル/グリッドが必要です。価格の更新は(サーバー上で)継続的に到着する予定であり、クライアントのブラウザに更新を「プッシュ」したいと思っています。したがって、ベンダーAが商品Bの価格を変更した場合、この情報を表示しているすべてのブラウザーの関連するセルを直ちに更新したいと考えています。

ブラウザプラグイン(例:Silverlight)は使用しません。 Javascriptは問題ありません。

どのような方法が最適ですか?

おそらく私のオプションは以下のとおりです。

1)が連続して、更新のためにサーバーをポーリング正しいセルを見つけて、それを更新し、クライアントのページを持っています。または 2)サーバーは、これらの更新プログラムを待機している開いているすべてのブラウザページに更新プログラムを送信できるようにします。

最初のものはもっともらしいようですが、私はSOコミュニティの組み合わされた知恵を制約したくありません。

これに役立つ可能性のある第三者のコンポーネント(グリッドなど)を購入させていただきます。私はすでにDevExpressグリッド/ Ajaxコンポーネントを用意しています。

答えて

1

あなたはおそらくのようないくつかの、いわゆるサーバ側のプッシュ技術を見ることができます - 私はAjaxianに彗星について読んkaazing gateway & lightstreamer

+0

ようAjaxPush、彗星、あるいはいくつかの商用製品。あなたはそれを直接経験していますか? –

+0

@David、私たちはCometベースのチャット・ソリューションを構築しており、現在も同様のソリューションを探しています。私たちはcodeproject.comの2つの記事をベースにしており、ここには同じもののリンクがあります - http://www.codeproject.com/KB/aspnet/wxv_comet.aspx、http://www.codeproject.com/KB /aspnet/AspNetComet.aspx – Vikram

1

私はあなたがブラウザ(IE、Firefoxなど)を「ポーリング」できるとは思わなかったので、私がデータを取得するために知っている唯一の方法は、ページをリクエストすることです。

AJAXの更新パネルを何秒間も更新するとどうなりますか?この方法でページがちらつくことはなく、前後に送信されるデータの量が制限されます。

2

プルモデルが構築しやすいというあなたの本能は正しいと思います。 iWeaselはAjaxについて言及し、Asp.NetのjQuery, Ajax and PageMethodsのDave Wardの投稿に指摘したい。彼のブログには、あなたが探していることを達成するのに役立つ優れたシリーズがあります。

Daveのアプローチの妥当性確認のために、jQueryとAsp.netのRick Strahl has a great articleも同様です。彼の例では、グリッドのような形式で製品を表示しています。

私はこのjQueryプラグインでの経験はありませんが、あなたのタイミング間隔に役立つようにjQuery Timerを調べることをお勧めします。

関連する問題