2012-02-17 5 views
2

ユーザーのセッションが終了したかどうかを返すアクションを作成して実行する必要があります。問題は、アクションを要求するとユーザーのセッションタイムアウトがリフレッシュされることです。タイムアウトをリフレッシュしないようにするには、このアクションが必要です。MVC3:セッションをリフレッシュしないコントローラーアクション

セッションにアクセスできるが、タイムアウトをリフレッシュしないコントローラーアクションを作成する方法はありますか?

+0

未検証のアイデアは、[SessionState(SessionStateBehavior.Disabled)]で装飾されたコントローラはセッションのタイムアウトをリフレッシュしますか?そうでない場合は、チェックを行う別のコントローラを作成することができます。 –

+0

そうではないように見えます。しかし、Sessionはnullです。つまり、セッションがまだアクティブかどうかを確認することはできません。それは私が何かを逃していない限りです。 – mtmurdock

+0

あなたのコンテキストを知らなくても...セッションが各リクエストで期限切れになる時刻を送信し、アクションを実行するのではなく、クライアント側の時刻を確認するだけですか?それほど正確ではありませんが、より良い解決策が見つからない場合は、その可能性があります。 – Rophuine

答えて

1

それを実演しました。我々はsite.com/.formsauthticketでアクセス可能なフォーム認証チケットを読むためのhttpモジュールを構築しました。このレベルで処理することによって、セッションをまったくトリガーしませんでした。私はここでコードを提供することはできませんが、セッションが切れるまでのミリ秒数を返すようにモジュールを設定します。次に、この番号を使用してクライアント側のタイマーを作成しました。

hereという別の質問に対する回答に基づいて解決しました。これが他の人に役立つことを願っています

関連する問題