2009-10-27 3 views
2

DWR 역 Ajax (pollAndCometEnabled가 true로 설정 됨)를 사용하는 웹 응용 프로그램이 있습니다. 내 web.xml에 HttpSession에 대한 시간 제한을 30 초로 설정했습니다. DWR은 서버를 폴링하기 때문에 사용자 상호 작용이 30 분 이상 비활성 인 경우에도 HTTP 세션은 항상 활성 상태이므로 만료되지 않습니다. 이 문제를 해결하는 방법을 아는 사람이 있습니까? 세션 쿠키를 사용하지 않는 도메인에 혜성 요청을 계속역방향 Ajax 활성화시 httpsession이 만료되지 않습니다.

1) 나는 당신을 위해 3 가지 옵션을 생각할 수 있습니다

답변

0

...; 부가 혜택으로 요청 오버 헤드도 줄일 수 있습니다.

2) 클라이언트 측에서 시간 초과를 모니터링하십시오. 응용 프로그램 설정에 따라 약간의 잡무가 될 수도 있지만 setTimeout은 매우 간단한 솔루션입니다. 단점은 당신이 이 아니기 때문에 실제로는이 만료되기 때문에 세션은 기술적으로 서버에 여전히 유효하지만, 위쪽에는 손쉽게 "세션이 만료 됨"이라는 경고가 표시 될 수 있다는 경고가 표시됩니다.

3) 서버에서 활동을 모니터하십시오. 혜성 솔루션을 사용하고 있으므로 서버의 세션을 모니터링 할 수 있으며 세션이 끝나면 세션이 끝났음을 알리는 메시지를 클라이언트에 전송합니다. 서버에서 세션을 휴지통으로 만들 수 있고 클라이언트가 동시에 알 수 있기 때문에 도메인을 전환 할 수없는 경우이 옵션이 가장 좋습니다.

관련 문제