IIS 6(および他のバージョンも可))では、[プロパティ]-> [ホームディレクトリ]タブ-> [構成]ボタン-> [オプション]タブにセッションタイムアウト設定があります。
ASP.NET web.configには、SessionState設定があり、次のようになります。
<system.web>
<sessionState timeout="120" />
<!-- etc .. -->
</system.web>
それらは、たまたま、関連していますか?同じものを設定しますか、それとも別のものを設定しますか?
彼らは同じではありません。 IISセッションタイムアウトはクラシックASPページ用です。web.configはasp.net用です。
IIS設定は、私が知る限り、ASP.NETセッションには影響しません。これらはweb.configで設定する必要があります。
アプリケーションプールのアイドルタイムアウトも考慮する必要があります。アプリケーションプールの設定は、アプリケーションが割り当てられているアプリケーションプールの[プロパティ](IIS 6)または[詳細設定](IIS 7.5)をクリックすると見つかります。
この値がセッションのタイムアウトに設定されていることを確認し、すべてのセッションがセッションタイムアウト期間全体にわたって持続するようにします。
これら2つの値が相互に依存しているのは、セッション情報が実際にはアプリケーションプールのワーカープロセス内に格納されるためです。つまり、ワーカープロセスが何らかの理由でシャットダウンまたは強制終了された場合、セッション情報は失われます。