2012-04-12 2 views
0

세션이 시간 초과되었는지 확인하려면 Jquery 함수가 있습니다.asp.net 응용 프로그램에서 Jquery

나는 세션이 그렇게하는 방법이

function Myfunction() { 
    if(FuctionHasTimedOut) 
    { 
     return 1; 
    } 
    else 
    { 
     return 2; 
    } 
} 

같은 시간 초과했는지 확인해야? 덕분에 어떤 도움을 많이

답변

0

시도 이를 위해 PageMethod을 사용하십시오. 여기에 내가 here 발견 된 일부 코드입니다 :

[WebMethod] 
public static bool HasSessionTimedOut() 
{ 
    HttpSessionState session = HttpContext.Current.Session; 

    // I put this value into Session at the beginning. 
    DateTime? sessionStart = session[SessionKeys.SessionStart] as DateTime?; 

    bool isTimeout = false; 

    if (!sessionStart.HasValue) 
    { 
     isTimeout = true; 
    } 
    else 
    { 
     TimeSpan elapsed = DateTime.Now - sessionStart.Value; 
     isTimeout = elapsed.TotalMinutes > session.Timeout; 
    } 

    return isTimeout; 
} 

는 그리고 이것은 내 자바 스크립트입니다 :

<script type="text/javascript">         
    $(function() {             
     var callback = function(isTimeout) { 
      if (isTimeout) {       
       // Show your pop-up here... 
      }       
     };               
     setInterval(            
      function() { 
       // Don't forget to set EnablePageMethods="true" on your ScriptManager. 
       PageMethods.HasSessionTimedOut(false, callback);  
      },              
      30000             
     );               
    });                
</script> 
0

평균 서버 측 세션 상태는 다음과 같은 기능으로 서버에 아약스 요청을 할 수있는 경우 :

function Myfunction() { 
    $.post('{urlToHandler}', function(){ 
     // server should return some session value, that would indicate that session state is accesible 
    }); 
} 
관련 문제