サイトのパフォーマンスを向上させたいときは、一般的にcache
を使用するすべてのリストのページを持っているアプリケーションがあると仮定データベースに格納されている製品。ユーザーは製品リストのフィルタリング機能(eBayやamazonなど)の必要性があります。また、製品リストの使用頻度と比較して、製品や製品の機能のリストがまれに変化していることが知られています。
Solution 1
:ここではcache
を使用してデータベース呼び出しを減らすことができます。 cache
に製品リストと製品機能を追加すると、メモリ内でフィルタリングを実行し、冗長なデータベース呼び出しを回避できます。 Cache
は、製品リストまたは機能が変更されたときに無効にする必要があります。このソリューションは、メモリ消費の処理がパフォーマンスの向上よりも安くなるまではOKです。
いいリソースとして、私はASP.NET Caching: Techniques and Best Practices MSDNの記事を読むことをお勧めします。 profile
で
あなたは一般的に、具体的なユーザーに固有のデータを保存し、システムへのたびにユーザーがログイン時に利用可能であるべきです。
Scenario 2
:Scenario 1
と同じアプリケーションがあると考えていますが、ユーザーがフィルタ設定(お気に入りのフィルタの種類など)を保存できるようにする必要があります。
Solution 2
:ある種のフィルタ状態クラスを作成し、ユーザprofile
に保存することができます。その結果、ユーザーは何度も何度もフィルタパラメータを指定するには悩まされることはありませんし、これらの設定はで毎回ユーザーがログイン利用できるようになる。
Session
すべてのWebからアクセスできる可能性があり、ユーザー固有の情報を格納するために使用されますページに表示され、次回ユーザーがログインしたときには必要ありません。
Scenario 3
:電子商取引のアプリケーションがあり、マーケティング担当者は、サイト上で何が起こっているのかをリアルタイムでリアルタイムで確認したいとします。このシナリオを選択されたユーザーのアクティビティスナップショットと見なしてください。
Solution 3:
ここでは、session
を使用して、ユーザーが訪問したURLを記録し、マーケティング担当者用のレポートを生成できます。
また、状態管理に関しては、別のMSDN記事ASP.NET State Management Overviewを参照することもできます。
Another good answerこれは、asp.netアプリケーション状態を管理しているオブジェクトの違いを示しています。
希望は少し助けました。
あなたはこれを見ましたか?http://forums.asp.net/t/983735.aspx –