2012-02-10 5 views
0

セッションタイムアウトのコードを使用しています(コードはthisからのリンクです)。このコードは、ユーザーがIIS Idletimeを(デフォルトでは20分)ヒットするのに十分長い間待っている場合を除いて、一般的にうまく動作します。 Idletimeoutに達すると、そのw3wpプロセスは存在しないので、Home/Loginへのリダイレクトコールは302秒の長いループになります。どのようにこの状況をより良く扱うことができるか考えてみてくださいアイドルタイムアウトは、セッションタイムアウトの処理に使用されるコードのループを引き起こすようです。

答えて

1

このフィルタを確認してください、私はあなたがそれを行う方法として例を挙げてあなたの答えを更新することができ、それを完全に理解すれば

+0

hmmm、現在アクションフィルタは、Global.asaxを介してRegisterGlobalFiltersメソッドに登録して適用されています。属性を個々のコントローラに適用する必要がありますか、それとも簡単な方法がありますか? – imak

+0

guffasの例を使用するか、属性を少し良くして除外属性を持つようにして、次のようなハードコード名を使用する必要はありません。http://stackoverflow.com/questions/4684150/a-way-to-exclude-action -filters-in-asp-net-mvc –

1

リダイレクトは別の要求を引き起こすため、要求がログインページ用であれば、別のリダイレクトをせずに通過させる必要があります。

擬似コード:

if (current_request_url =! "~/Home/Login") { 
    ctx.Response.Redirect ("~/Home/Login"); 
} 
+0

わからないログインアクションに適用されていませんか? – imak