答えて

9

フォームFormsAuthention)は認証に使用され、タイムアウトするとユーザーがログアウトします。 SlidingExpirationプロパティを 'true'に設定することでタイムアウトを防ぐことができます。また、必要に応じてユーザーアクティビティでフォームチケットを更新します(ASPへの読み取り要求)。これは、彼があなたのサイトで「アクティブ」である間、ユーザーをログオンしたままにします。

Membershipは、ユーザーの検証に使用され、userIsOnlineTimeWindowは、あなたがそれがなくなったときに、それは、そのユーザのための「偽」にIsOnlineプロパティを設定するユーザーの活動を追跡するためにそこにあります。私が見つけた一つの新しいものは、ユーザーisOnlineが設定されている間、それはフォームチケットを更新しますが、主な違いは、それ自体自動的だけそのGETUSER()またはのvalidateUserを(更新しないということであるということです)メソッドが実行されます。

セッションタイムアウトには、あなたがSessionオブジェクトで見つかったデータを失うことになります。それだけです。

+0

あなたは本当ですか? –

+3

@AranMulhollandそしてガラベージコレクターは記憶をクリアし、ある時点で中国の何人かの人がくしゃみをするでしょう。 – Bizniztime

+0

とそれはすべてですか?面白すぎる :) –

0

注次の動作:

あなたはセッションタイムアウト= 10分とフォーム認証のタイムアウト= 8分に設定します。

ユーザーは、フォーム認証を使用してサイトにログインします。

セッション "クロック"とフォーム認証 "クロック"の両方が動作し始めます。

セッションでサイトの操作に必要な情報をいくつか保持しているとします(例:Session ["userData"] = userData;)。

ユーザーは9分間アイドル状態です。

8分でセッションがタイムアウトし、ユーザーのデータが消去されます。

ユーザーがサイトで何らかのアクティビティを実行しようとすると、9分でSession ["userData"]を参照して情報を取得します。 nullなので、null参照に対してエラー500が発生します。

結論:フォームの認証タイムアウトをセッションのタイムアウトより短くしてください。

関連する問題