2012-01-09 14 views
2

ASP.NET WebサイトにはVisual Studio 2010および.NET 4.0を、一般的なアーキテクチャにはMVCを使用しています。挿入後のGridViewの更新

この質問には2つの部分があります。どのようにこれを行うには何もありませんが、良い設計と業界基準に従って正しい方法は何ですか。私は、GridViewコントロールを持っている場合は

  1. 私は次の100件のレコードをデータベースに戻る、またはにデータを格納しない、一度に100個のレコードを表示する1000の+記録(大量のデータ)と(AJAXは有効)、およびセッションから新しいデータを取得するだけで、グリッドビューを再バインドできますか?

  2. インサートの場合、2つの選択肢があります。 1つは、データベースにレコードを挿入し、グリッドビューをリロードして再バインドします。セッションとデータベースにレコードを挿入し、セッションデータに基づいてGridViewを更新します。私はデータベースから新しいデータをダウンロードする必要はありません。

正しい方向に向けることができますか?

答えて

3

一度に1000レコードを忘れて...一度に100レコードしか表示していない場合は、それだけで心配する必要はありません。私の意見では、データベースを再クエリーします。一度に100レコードはあまりありません。このようなことにセッションに頼らず、ウェブの「ステートレス」な性質を利用してください。

セッションを使用すると多くのメリットがあります。どちらの方法でも、情報はユーザーのブラウザに送信する必要があります。 100レコードのデータベースを照会するのはおそらく、レイテンシの点では些細な操作です。開発の観点からは、ここでセッション状態を導入することの複雑さはそれほど価値がありません。 (セッションには何のメリットがありますか?)

これは私の意見ですが、他のものとは異なる場合があります。しかし、このシナリオで一度に100レコードを照会することが多すぎる問題に陥っているとは想像できません。

+0

ご意見ありがとうございます。役に立った – pskk

1

この記事をScottGuからお読みください。データベースのレコードセットをページします。ほとんどの場合、これは正しいアプローチです。この記事ではいくつかのベンチマークを示します。サイトのトラフィックが多くなると、セッションでの格納にリソースが集中する可能性があります。あなたがWebファームに拡張すると、おそらくSQL Serverにセッション状態を格納することになります。

セッションデータも揮発性です。ユーザーが2つのブラウザウィンドウで同じページを開くとどうなりますか?あなたはそれぞれのページのつま先でステップアップするでしょう。ユーザーがページから離れてセッションやキャッシュの有効期限が切れるとどうなりますか?キャッシュでも同じ問題が発生します。

サーバーのページングは​​、最適なスケーリングを行います。

http://www.4guysfromrolla.com/articles/031506-1.aspx#postadlink

関連する問題