2012-02-20 14 views
0

ASP.NETセッションの詳細と適切な使い方を説明できる人はいますか?Asp.netセッションの詳細と具体的な使用方法

私は多くのWebポータルとブログを読んでいますが、セッションの使い方と場所についてはわかりません。

私たちはログインのために、あるページから別のページにいくつかの値を転送する、多くのセッションをページ上に作成します。 10000人以上のユーザーがウェブサイトにアクセスしているような複数のユーザーへの影響、サーバー転送率はどのようなものですか。メモリストレージなど

これは、多くの初心者や経験豊富な人がプロジェクトでセッションを適切に使用するのに役立ちます。

何か助けていただければ幸いです。

+0

困った場合は、私の本であなたの質問に詳しくお答えします。情報については私のプロフィールを参照してください。 – RickNZ

+0

@RickNZ - 基本的なワークスルーと、セッションを使う利点と欠点を教えてください。もし私が本を買うことになっていたら、ここでそれを質問として投稿していないでしょう。 – Murtaza

答えて

2

これは、それがどのように動作するかおおよそ次のとおりです。

ユーザーが自分の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のセッション状態ストアを使用している場合、格納するデータをシリアライズおよびデシリアライズする必要があります。これは、自明ではないサイズのデータ​​には些細な時間を要します。

保存しようとしているものが機密でない場合は、データをクッキーに保存する方法があります。そうすれば、サーバはデータの保存を心配する必要はありません。この方法では、クッキーがすべてのリクエストのペイロードの一部になるため、メモリ(またはディスク容量など、選択したストレージメカニズム)を帯域幅として扱います。

+0

誰かが1〜2日で公開する場合、より良い答えを待っています。そうでなければ私はそれを受け入れる。 – Murtaza

+0

あなたが欠けている情報を詳しく説明すると、多分私は助けることができます – Rune

関連する問題