2017-06-14 4 views
0

セッション時間がすでにweb.Configに設定されています。セッションがタイムアウトした後、自動的にページを更新してログインページにリダイレクトします私のコードを以下のように見つけてください。 - Pleaesは私を助けます、私はほぼ1週間から試していますが、進歩はありません。セッション時間切れにマイページがリフレッシュされません - MVC 4プロジェクト

HttpContext ctx = HttpContext.Current; 

if (ctx.Session != null) 
{ 
    // check if a new session id was generated 
    if (ctx.Session.IsNewSession) 
    { 
     HttpContext ctx1 = HttpContext.Current; 
     // check sessions here 
     if (ctx.Session["UserName"] == null || !filterContext.HttpContext.Request.IsAuthenticated) 
     { 
      if (filterContext.HttpContext.Request.IsAjaxRequest()) 
      { 
       FormsAuthentication.SignOut(); 
       filterContext.Result = new RedirectResult("~/Authentication/Logon"); 
       base.OnActionExecuting(filterContext); 
      } 
     } 
    } 
} 
+0

あなたの 'FormsAuthentication.SignOut();'は実行されましたか? 'Session [" UserName "]'がタイムアウト時に値を持っているかどうかをチェックします。ヌルでなければ 'Request.IsAuthenticated'がチェックされません。 –

答えて

0

セッションは、サーバー上でのみタイムアウトします。あなたのページは決して自動的にリフレッシュされません。セッションの可用性をチェックし、それに応じて更新するには、ブラウザからポーリング・メカニズムを実装する必要があります。

+0

どうもありがとうございました。どうすればいいですか? – Swathi

+0

ここで正解をご覧くださいhttps://stackoverflow.com/questions/25433042/how-to-detect-mvc-3-session-expiration-via-javascript –

関連する問題