2011-08-02 15 views
1

私はセッションにいくつかの情報を保存しますが、セッションは毎回破棄されます。なぜこれが起こっているのか分かりません。私はIIS7を使用しています。ユーザーが登録しつつあるが、私のクライアントは、彼が20〜30分間アイドル状態に座ったときに情報が失われていると文句を言いながら、私はいくつかの情報を格納していますセッションタイムアウトの問題

<sessionState cookieless="AutoDetect" mode="InProc" timeout="120" /> 

この

は私が作った設定です。私はアイドルタイムアウトが(アプリケーションプールのプロパティで)20分である1つのカスタム定義されたアプリケーションプールでアプリケーションを実行しています。それは問題になることができますか?

第2に、タイムアウトを120分に指定しても、IIS7で「セッション状態」アイコンをクリックしても120分は表示されません。何が問題なの?事前に

感謝:)

更新: IIS7の「セッション状態」でのクッキーの設定では、私はAsp_NetSessionIdのための5分として、タイムアウトを参照してください。それは犯人だろうか?

答えて

2

あなたのアプリケーションプールが20分後に破壊されている場合は、セッションがinprocであると考えると問題になります。アプリケーションプールのタイムアウトを120分に増やす

1

セッションInProcを保存すると、20分ごとにアプリケーションが再起動され、すべてのセッションが失われます。 StateServerサービスを実行し、web.configの

<sessionState mode="StateServer" timeout="120" /> 

を使用してください。その後、あなたはどのくらいの頻度でアプリケーションを再起動しても気にしなくても、新しいバージョンをアップロードしてセッションを保存することもできます。

1

はい、AppPool設定でアイドルタイムアウトを指定すると、基本的にワーカープロセスが強制終了され、セッションが破棄されます。

InProcセッションを処理する方法の1つとして、[Cookie設定]タブの値がCookie経由で表示されます。

関連する問題