8

次のような web.config ファイルでセッション タイムアウトを 9 時間に設定しました。

“<sessionState mode="InProc" timeout="540" />

しかし、多くの場合、ユーザーは非アクティブ状態が 9 時間未満でタイムアウトに直面していると不満を漏らし、タイムアウト後の時間間隔もさまざまです。

セッション タイムアウトが IIS の以下の設定のいずれかに依存しているかどうか疑問に思っていました。

  1. セッション時間設定
  2. アプリケーション プールのアイドル タイムアウト設定
  3. リサイクル設定。

お知らせ下さい。また、IIS 7.0 のセッション タイムアウト設定を確認するにはどうすればよいですか?

4

3 に答える 3

11

ApplicationPool がリサイクルされると、セッションは失われます。これは、あなたが言及した IIS 設定の 1 つです。web.config でタイムアウトを設定するだけでは十分ではありません。IIS で設定を調整する必要があります。

これは、同じ問題を調べているときに見つけたリンクです。

また、この質問は非常に役に立ちました: Losing Session State

于 2012-10-23T09:00:07.540 に答える
0

Web 構成でセッション タイムアウトを設定するだけでは不十分です。サイトがホストされているサーバーの IIS 設定で設定されているタイムアウト値が少ない場合、サーバー セッションのタイムアウト値に従ってセッションがタイムアウトになります。

また、サーバー ディレクトリからフォルダーを削除すると、AppPool が予期せずリサイクルされる可能性もあります。

そのため、サーバー セッションのタイムアウト値を確認し、それよりも小さい場合は、要件に応じてそれを増やすようホスティングに依頼してください。

于 2012-10-23T09:31:45.907 に答える
0

フォーム認証を使用している場合は、フォーム認証 Cookie がセッションと同時に期限切れになるように設定する必要があります。

そうでない場合は、IIS がリサイクルされていないことを確認してください。( Global.asax にロガーを配置して、ユーザーの苦情と比較してアプリケーションの終了イベントを検証します。)

于 2012-10-23T09:01:57.113 に答える