2013-03-11 3 views
1

다양한 jquery, ajax, 이미지 새로 고침 구현을 살펴본 후이를 모두 사용해 보았습니다. 그들 중 누구도 나를 위해 일하지 못했습니다.세션 유지 유지 MVC3

다음 코드 단편에 heartbeat() 함수를 구현하려고합니다. 이 하트 비트는 사용자가 페이지를 타이핑하거나 클릭하는 동안 내 세션을 유지해야합니다. 설정 한 시간이 지나면 시간 초과되고 자동으로 사용자를 로그인 페이지로 리디렉션합니다.

내가 실행중인 문제는 사용자가 로그인 페이지로 리디렉션하지 않아도 사용자가 양식에서 "제출"을 클릭하면 세션이 시간 초과되었으므로 로그인 페이지로 리디렉션된다는 것입니다.

document.onkeypress = function(e) { 
    heartbeat(); 
    clearTimeout(timer); 
    timer = setTimeout('RedirectToWelcomePage()',parseInt(sessionTimeout) * 30 * 1000); 
}; 

document.onclick = function(e) { 
    heartbeat(); 
    clearTimeout(timer);  
    timer = setTimeout('RedirectToWelcomePage()',parseInt(sessionTimeout) * 30 * 1000); 
}; 


function heartbeat() {// need to implement 
} 


function RedirectToWelcomePage() 
{ 
    window.location.replace("/Account/LogOn"); 
} 

답변

5

당신의 심장 박동이 아약스 요청과 함께 살아 세션을 유지할 수 있어야한다, 그러나 나는 또한 마지막의 타임 스탬프를 기록함으로써 모든 클릭과 키를 누를 오프를 발생하지 않도록 할 것을 (처음에 페이지 로딩 시간), 세션에 가까울 때까지 다른 아약스 요청을 시작하지 않거나 양식 인증 시간 초과 (양식 auth를 사용하는 경우).

+0

감사합니다. Jeff! 나는 아약스 부분을 잘못 구현했다. – paaone