2010-01-05 5 views
4

예를 들어 jQuery를 클라이언트 측 프레임 워크로 사용하는 웹 응용 프로그램이 있습니다. 이제 대부분의 페이지는 AJAX를 사용하여 작동하고 Generic Handlers (.ashx)를 사용하여 서버와 통신합니다.ASP.NET GenericHandler를 사용할 때 ASP.NET에서 세션 시간 초과를 관리합니다.

이제는 내 사용자 세션이 만료 될 때 이러한 요청을 처리하기위한 최상의 솔루션이 무엇인지 궁금해하고 있습니다.

예를 들어 로그인 한 사용자가 브라우저를 15 분 동안 방치 한 다음 세션 변수를 읽으려고 할 때 서버 측에서 핸들러에 대한 요청을 생성하는 버튼을 눌렀습니다. 비어 있어야합니다 (세션이 만료되었습니다). 사용자를 다시 로그인 페이지로 리디렉션하는 가장 좋은 방법은 무엇입니까?

답변

2

우리는이 상황을 약간 다른 방식으로 처리합니다. 모든 jQuery 호출이 이러한 종류의 오류 조건을 처리하도록하는 대신, javascript를 사용하여 클라이언트에서 병렬 시간 초과 시스템을 구현했습니다. ASP.NET 세션이 끝나기 몇 분 전에 브라우저에 대화 상자가 나타나 사용자에게 "비활성 상태이고 곧 로그 아웃됩니다. 여기를 클릭하여 로그인 상태가됩니다."라는 경고 메시지가 나타납니다. 대화 상자에도 카운트 다운이 약간 포함되었습니다. 그들이 로그인 상태를 유지하기 위해 클릭하면 우리는 서버에 또 다른 jQuery 호출을 보내서 세션 타임 아웃을 재설정한다.

사용자가 자바 스크립트를 비활성화하지 않은 경우 (이 경우 응용 프로그램이 작동하지 않음) ASP.NET 세션 시간 초과 후 jQuery 호출이 발생할 가능성이 없습니다.

관련 문제