4

現在、DataSetをViewStateに保存していますが、これはページのパフォーマンスに影響を与える可能性があります。

SessionやViewState、あるいはパフォーマンスに影響を与えない代替手段を使用できるかどうかを教えてください。

4

4 に答える 4

3

データセット全体を保存する必要があるのはなぜですか?必要な場合は、セッションで行います。セッションが「inproc」の場合、データセットオブジェクトはメモリに保存されます(シリアル化が行われないため、パフォーマンスがいくらか節約されます)。

私があなたなら、コードを分析し、データセット全体をビューステートではなく、どちらのセッションにも保存しないようにします。コードを最適化する方法が必要です。

それが役に立てば幸い。

于 2012-02-22T16:06:39.763 に答える
2

dataSet全体を保存する場合は、常にCachingメソッドがあり、これにより、優れたパフォーマンスで巨大な変数を保存できます。ここでは、変数をキャッシュに格納する方法の例を示します。

Cache["CacheItem1"] = "Cached Item 1";

そして、これは後に変数を取得する方法です:

string cachedString;
cachedString = (string)Cache["CacheItem"];
于 2014-02-18T11:55:48.870 に答える
1

データセットをビューステートまたはセッションに保存することはお勧めできませんが、2つのうち、セッションにデータセットを保存する方がビューステートよりも確実に優れています。それ以降、シリアル化/逆シリアル化はサーバーで処理されます。シリアル化されたデータをクライアントにも送信するのではなく。

于 2012-02-22T16:02:01.867 に答える
1

セッションに保存することはあなたを助けるかもしれないと思うので、あなたは次の点を考える必要があります

  1. アプリケーションを使用しているユーザーは何人ですか?
  2. データセットのサイズはどれくらいですか?それ以上の場合は、セッションに保存しないでください。

要件を確認することをお勧めします。可能であれば、キャッシュに保存できますが、これはアプリケーションレベルです。セッションとして各ユーザーには独自のセッションがあります。

次のリンクを確認できます

  1. セッションV/sビューステート
于 2012-02-22T16:28:52.057 に答える