ASP.NET State Service の仕組み、パフォーマンス、動作特性など、ASP.NET State Service に関する情報はどこで入手できますか。ありがとう
3 に答える
- ASP.NET セッション状態: アーキテクチャとパフォーマンスに関する考慮事項 (ブログ投稿)
- ASP.NET セッション状態 (MSDN)
- .NET アプリケーションのパフォーマンスとスケーラビリティの向上 (MSDN)
- セッション状態 (MSDN)
あなたにとって役に立つかもしれないし、役に立たないかもしれません..
つまり、次のように機能します。
InProc セッション状態は最速ですが、インプロセスでもあります。つまり、共有されておらず (「Web ファームには適していません」と読んでください)、プロセスがクラッシュすると失われます。
State Service (aspnet_state.exe)は依然として非常に高速ですが、ワーカー プロセスとサービス自体の間のマーシャリングによるオーバーヘッドが発生します。構成で IP アドレスを渡すことができるため、独自のマシン上で実行できるため、優れている可能性があります。また、ワーカー プロセスからプロセス外であるため、プロセスがクラッシュしても存続できます。単一のマシンで実行できるため、すべてのクライアントが同じマシンを使用する場合、状態を共有できます。
Sql Server (または別のカスタム プロバイダー) - 特にディスク I/O が多くなる可能性があるため、(常にではありませんが) すべての中で最も遅くなる傾向があります。ただし、これは、状態をディスクに永続化できるため、より堅牢なソリューションの 1 つでもあります。つまり、Web サーバーでのプロセス クラッシュだけでなく、サーバー クラッシュ自体にも耐えることができます (DB がオンラインに戻ると、状態が復元されます)。クラスタリングと組み合わせることで、堅実なセッション システムを提供できます。
プログラム的には、セッション状態はディクショナリまたはハッシュ テーブル (キーと値のペアなど) の形をしたメモリに過ぎず、ユーザーのセッション中に設定および読み取りを行うことができます。
詳細については、次のリンクを確認してください。
http://msdn.microsoft.com/en-us/library/ms972429.aspx
http://msdn.microsoft.com/en-us/library/ms178581(VS.80).aspx
「Pro ASP.NET 3.5 in C# 2008」または「Pro ASP.NET 3.5 in VB.net 2008」という本を読むことを検討してください。