私はasp.netのC#のWebフォームアプリケーションを構築しています。 セッションハンドリングには最高のラッパークラスがありますか? セッションでどれくらいのデータを保存できますか?限界は何ですか?
1
A
答えて
1
あなたはラッパークラスについては、この後
ASP.NET Session size limitation
をチェックアウトすることができますが、本当にあなたがする必要がある多くありません。私は通常、セッションにアクセスするクラスを1つしか持たないことをお勧めします。私は通常、静的なプロパティを使用して、必要なオブジェクトを取得します。
public static class MyData
{
public static MyObject Item1 {
get { return HttpContext.Current.Session["DataKey"] as MyObject;}
set { HttpContext.Current.Session["DataKey"] = value;}
}
}
明らかに、オブジェクトを自動構築するために必要に応じてパターンを変更することができます。
1
大量のデータをセッションに保存する際は十分注意してください。覚えておくと、セッションは、その人の「セッション」がアクティブである限り続きます。 1秒に200回のリクエストを処理できるサーバーがあるかもしれませんが、セッションを同時に維持している人は15,000人になる可能性があります。セッション(サーバーメモリ)の既定値を使用していると仮定すると、サーバーのメモリが不足していることがすぐにわかります。
これは奇妙に聞こえるが、スケーラビリティのために、クッキーやデータベースに保存するのが大変だ。
関連する問題
- 1. セッション:セッションサイズの制限
- 2. ASP.NETのセッション長の制御
- 3. ASP.NET Server.HtmlEncodeの制限
- 4. ASP.NET MVC 3カミソリビューの制限
- 5. ASP.NET HTTP接続制限
- 6. PHPセッション文字列の制限
- 7. PHPセッション変数を制限する
- 8. ASP.NETのセッション対クッキーの有効期限
- 9. WCFセッション - ASP.Netセッション
- 10. ASP.NetのコントロールのIDの長さ制限
- 11. ASP.NETのアプリケーション状態 - パフォーマンスの制限?
- 12. ASP.NET制限ログインの再試行
- 13. asp.netでのデータグリッド項目の制限C#
- 14. Asp.netコアでのメモリ使用の制限
- 15. ASP.NET正規表現、制限番号
- 16. ASP.NET MVC 3 APIアクセスを制限する
- 17. fileuploadコントロールのファイルパスを制限するasp.net
- 18. データリストのダイナミックテキストボックスの制限文字asp.net 3.5
- 19. asp.net MVC 2 asp.netの制限は何ですか
- 20. セッションASP.NET
- 21. ASP.NETセッション
- 22. ASP.NETスタティッククラスとasp.netセッション
- 23. 最大セッション数には制限がありますか?
- 24. セッション変数:制限値の設定とパフォーマンスへの影響
- 25. Apache Tomcat Webアプリケーションへの同時セッションの制限
- 26. Google App Engine Freemiumのセッション制限は何ですか
- 27. WSO2ISでのユーザーあたりの同時セッションの制限
- 28. 特定のドメインでセッションを制限する方法は?
- 29. Rails/Authlogic:ログイン/セッションを1レコードに制限する
- 30. nodeJSアプリケーションで10同時セッション/接続を制限する方法
回答ありがとうございました。しかし、我々は多くの許可設定を持つWebサイトを持っており、ユーザーがログインするときにそれらをセッションに保存したいと思っています。将来はさらに多くのアクセス許可を追加することができます。 他の方法では、ユーザーがページを更新するたびにdbから許可を得ることができますが、ユーザーがページを更新するたびに50以上の行を取得したくありません。この場合、何をお勧めしますか? – Riz
クッキーを可能な限りリーンに保つ必要があります。あなたがやっていることは、問題をどこか別の場所にプッシュすることだけです。 DBまたはアウトプロセス状態マネージャがより良い選択肢です。 – Kev
セッションを使用する理由を完全に理解しており、他に選択肢がないかもしれません。セッションを使用する場合は、それを大規模にテストしたことを確認してください。データベースセッションプロバイダを使用するよりもはるかに高速な選択肢がいくつかあります。いくつかのthirdpartyソリューションと同様に、マイクロソフトセッションステートサーバー(速度、私が思う名前の変更されたアプリケーションファブリック)があります。 (Kevが言っているように、あなたのクッキーを平均的で控えめな状態に保つことができます。小さなスペースにあなたの役割を詰め込むことができれば、そうでなければサーバー側のソリューションが必要です)。ウェブファームに安全なものを選んでください。 –