2009-03-31 17 views
0

実際にセッションのタイムアウトを決定するのは非常に混乱しています。セッションに20分のタイムアウトを強制する方法はありますか?

ウェブアプリケーションは、ユーザーをログオン(またはスロー)する前に20分間の「アイドル時間」を許容する必要があります。私は、IISのsessionStateとRecycleワーカープロセスの両方で異なる設定を試みました。タイムアウトは短すぎるままで、私のやめた、汚れた、原始的なテストでは少しランダムです。

デフォルトのタイムアウトは20分だと私は読んでいますが、私のアプリでは5に近いようです。これを簡単に変更する方法はありますか?アプリケーションはIIS 6で.NET 3.5を実行しています。

EDIT: ユーザーコンテンツがエンティティフレームワークのコンテキストとして保持されるため、Entity Frameworkがこの問題に関係する可能性があることがわかりました。企業がどのくらいの期間開催されるかの期限はありますか?

答えて

6

ユーザーは、web.configの認証設定に基づいてログアウトされます。

セッションタイムアウトは、web.configのセッションタグで設定されます。

これらが異なる場合は、「面白い」結果が表示されます。

+0

セッション状態だけでは、このトリックは実行されません。両者の違いは何ですか?同じ値に設定されていれば、両方を使用すべきですか? –

+0

web.configの認証設定で、20にも設定されていることを確認してください。ログアウトしていますか、セッションエラーですか? – cjk

+0

セッションは、ユーザー情報を保持しているエンティティを「忘れる」ようです。私は多くのパラメータで遊んで、最後に解決しました。あなたの答えは助けになったので、答えのタグを手に入れました。 ;) –

5

http://msdn.microsoft.com/en-us/library/ms972429.aspx

あなたはweb.configファイルで見れば、あなたは、あなたがタイムアウトを設定することができ、この

<configuration> 
    <sessionstate timeout="20" /> 
</configuration> 

、そこのようないくつかのことを書くことができます。..

+0

あなたの答えをありがとう、しかし私は私の質問に書いたように、私はすでにセッションステートを試みましたが、依然として望ましい結果を得られません。 –

+0

あなたはinbuildログインシステムを使用していますか、自分で書いたことがありますか?また、セッション時間はデバッグWebサーバで同じように動作していますか? – Peter

+0

ログインはこのシステムに固有です。ログインすると、データベースに対してユーザー名とパスワードがチェックされ、エンティティが返された場合、ユーザーはエンティティのユーザータイプとしてログインします。 Entity Frameworkと何か関係があるかもしれないことがわかりました。 –

1

はてsessionStateタイムアウトを使用してください。リサイクルワーカーを使用したくない場合は、N分ごとにそのワーカーに関連付けられているすべてのセッションをリサイクルします。セッション変数を使用している場合は、リサイクルワーカーを非常に高い値に設定することをお勧めします。

+0

+1リサイクルワーカーを説明していますが、私の質問に書いたように、私は希望の結果を得ることなくセッションを試みました。 –

関連する問題