2012-06-28 4 views
0

asp.net 웹 응용 프로그램에 대한 질문이 있습니다. SQL Server 세션 상태를 사용하는 웹 응용 프로그램입니다. 로그 아웃 이벤트는 세션을 제거 할 수 있지만 제목 표시 줄 닫기 버튼을 누르면 세션을 제거하려고합니다. 제목 표시 줄 닫기 버튼을 눌렀을 때 제어 할 수있는 이벤트는 무엇입니까? 제목 표시 줄 닫기 버튼을 눌렀을 때 catch 할 수있는 session_end 이벤트에 대해 읽었습니다. 그러나 SQL Server 세션 상태를 사용하여 session_end 이벤트가 발생할 수 없습니다. 어떻게 잡을 수 있습니까?프레스 제목 표시 줄 닫기 버튼 asp.net C#

답변

0

브라우저를 닫으면 서버의 세션이 종료되지 않고 서버는 열려 있거나 닫힌 브라우저의 차이점을 알 수 없으며 단순히 요청을 수신 한 다음 응답을 보내고 다른 요청을 기다리는 중입니다. 요청이없는 일정 시간이 지나면 세션이 시간 종료되고 session_end 이벤트가 실행됩니다.

세션을 끝내려면 세션 종료를 알기 위해 브라우저를 닫을 때 세션에 서버에 대한 일종의 Ajax 요청 포스트가 있어야합니다.

편집

당신은

$(window).unload(function() { 
    $.post('someurl'); 
}); 

는 브라우저가되었습니다 서버를 알려주는 웹 서비스, 핸들러 또는 MVC 컨트롤러 액션 또는 유사한의 URL someurl 교체 jQuery를

사용하여이 같은 뭔가를 할 수 닫은.

그런 다음 서버 측 당신은

Session.Abandon(); 
+0

이 예, 간단한 알고 싶어 – Stuart

관련 문제