多くの場合、DataSetの作成に使用されるコーディングの量は重要です。現在、複数のASP.NETページからのデータ要求を処理する際の業界標準またはベストプラクティスがわかりません。キャッシュ/セッションを使用してデータセットをページからページに渡す必要がありますか、それとも各ページのデータベースから直接フェッチする必要がありますか?
ここで最も一般的なアプローチは何ですか?
これが私の考えです:
これは、データベースと取得しようとしているデータの種類、およびデータを変更する可能性のあるものによって異なります。必要なデータと同時に実行されるバックエンドプロセスはありますか?このデータは現在のページのためにのみ更新されますか、それともまったく更新されませんか?このページを使用する人は何人ですか?
私は個人的にほとんどの場合データベースに電話をかけます。なぜなら、この種のことに関しては、what-ifが非常に多いからです。データはいつでも変更される可能性があります。人々が思っているほど静的ではありません。私はいつでもパフォーマンスよりも正しいデータを個人的に交換します。
しかし、それは私個人です。この質問は非常に自由形式であるため、データベースの構造、取得にかかる費用、使用目的がわからないため、すべてを考慮することは不可能です。
申し訳ありませんが、私は本当にこれ以上の助けになることができませんでした。
それはあなたの必要性に依存します。データサイズが非常に大きい場合は、セッションまたはキャッシュがサーバーメモリに保存されるため、セッションまたはキャッシュに保存しないでください。セッションはユーザー固有であり、サーバー内の各ユーザーのデータを保存するため、セッションを避けてください。必要なときにデータを直接フェッチする必要があると思います。セッションに保存しないでください。データが非常に小さい/制限されている場合は、セッションに保存できます(たとえば、UserNameやUserIdなど)。グリッドビューを使用してデータを表示している場合は、ページングを使用し、各ページリクエストでデータベースからデータをフェッチします。