これは、それがどのように動作するかおおよそ次のとおりです。
ユーザーが自分のWebページにアクセスすると、セッションIDをユーザーのブラウザにクッキーに設定されています。ブラウザがサーバーに要求を送信するたびに、ブラウザはセッションIDを含むCookieをサーバーに渡します。これにより、サーバーはユーザーを認識し、複数のページ要求(you can use sessions without cookies if you want to)にわたってユーザーとデータを関連付けることができます。
サーバーは、デフォルトでこのデータをメモリに保存します。ただし、複数のウェブサーバーがアプリケーションを実行していて、同じユーザーにサービスを提供している場合、ユーザーはすべてユーザーのセッションデータを知る必要があります。したがって、「ASP.NET State Server」Windowsサービスを使用してセッションデータを格納するようにアプリケーションを構成することも、SQLデータベースにデータを格納することもできます(または、独自のSession State Providerを作成して、 )。さらに、セッションデータをメモリに格納することは、マシンがクラッシュする可能性があることを心配している場合は明らかに悪い選択です(明らかに心配する必要があります)。
ASP.NETセッションの「適切で詳細な」使用については、あなたが達成しようとしていることに依存しています。 ウェブサイトにアクセスしているすべてのユーザーのセッションを統合すると、かなりのスペースを占める可能性があるため、セッションに少量のデータしか保存できません。さらに、ASP.NET State ServerまたはSQL Serverのセッション状態ストアを使用している場合、格納するデータをシリアライズおよびデシリアライズする必要があります。これは、自明ではないサイズのデータには些細な時間を要します。
保存しようとしているものが機密でない場合は、データをクッキーに保存する方法があります。そうすれば、サーバはデータの保存を心配する必要はありません。この方法では、クッキーがすべてのリクエストのペイロードの一部になるため、メモリ(またはディスク容量など、選択したストレージメカニズム)を帯域幅として扱います。
困った場合は、私の本であなたの質問に詳しくお答えします。情報については私のプロフィールを参照してください。 – RickNZ
@RickNZ - 基本的なワークスルーと、セッションを使う利点と欠点を教えてください。もし私が本を買うことになっていたら、ここでそれを質問として投稿していないでしょう。 – Murtaza