私のアプリケーションの 1 つは SQL セッション状態を使用しており、タイムアウトは現在 20 分に設定されています。私の質問は、これはサーバー メモリではなくデータベースに格納されるため、重大なパフォーマンスの問題なしにタイムアウトを増やすことができるはずです。
データベースは多くのセッションを簡単に処理できるはずなので、データベース セッション状態のシナリオでのタイムアウトの重要性がよくわかりません。
私のアプリケーションの 1 つは SQL セッション状態を使用しており、タイムアウトは現在 20 分に設定されています。私の質問は、これはサーバー メモリではなくデータベースに格納されるため、重大なパフォーマンスの問題なしにタイムアウトを増やすことができるはずです。
データベースは多くのセッションを簡単に処理できるはずなので、データベース セッション状態のシナリオでのタイムアウトの重要性がよくわかりません。
タイムアウトの関連性は、多くのヒットを取得してデータベースをかなり早くいっぱいにする可能性のある公開Webサイトの方が重要だと思います。そうは言っても、無限はあなたが望むものでもありません...
私もあなたの意見の確認を探していました-ハードドライブのスペースが安い場合、中規模のオフィスを考えると、目立ったパフォーマンスの問題なしに(20分間のSQLサーバーセッションの原因を超えて)SqlSessionStateで8時間のセッションを行うことができるはずです.レベルのイントラネット アプリケーション。
セッションに関するアドバイスは、一度に処理できるユーザーの数、ユーザーが何らかの作業を開始し、長時間中断され、続行する必要がある可能性が高いことを念頭に置いてください。
最後に、認証トークンまたはロールをセッションに保存している場合は、それらをより頻繁に失効させて、ユーザーがまだユーザーであり、それらのロールを保持していることを確認することができます。
SO
セッションの長さは、実装メカニズムではなく、機能によって決定する必要があります (たとえば、オンライン バンキングではタイムアウトが短くなる傾向がありますが、サイトのようなサイトではエントリを入力するための時間が長くなります)。
アウト プロセス モードを使用すると、IIS が再利用された場合にセッション コンテキストを保持でき、必要な直接 (IIS 自体によって使用される) メモリ リソースが少なくて済みます。しかし、それはセッションが 8 時間続くか 5 分続くかとは関係ありません。