문제

나는지 궁금하다면 나는 처리할 수 있습 세션 시간 제한 이벤트입니다.를 확인해야 함수 호출 내수하기 전에 세션 제한 시간 또는 사용자가 마이 페이지,또는 폐쇄 브라우저 창을 닫습니다.가장 중요한 부분은 여기에 액세스하는 모든 것을 저장하는 동안 세션,세션 변수입니다.

도움이 되었습니까?

해결책

을 살펴 session_end 등()메소드에서 글로벌입니다.맨.Global.맨 파일을 이미 유선을 이 메소드를 호출할 때 세션이 끝납니다.당신은 코드가 있지만 당신이 좋아하는 것입니다.

    Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
        ' Fires when the session ends
    End Sub

물론 당신은 참고해야의 세션은 전적으로 서버측 것입니다.그것은 단지 말 X 분 후의 비활동(20 분 기본값).그것은 끝나지 않는 즉시 사용자가 창을 닫습니다.ASP.NET 가 없는 지식의 사용자가 창 닫기거나 당신의 페이지입니다.

사실,그것은 까다로운 시도를 수행하 즉각적인 행동을 서버의 측면이 발생합니다.I mean,그것은 쉽게 전화하는 창입니다.onbeforeunload 에서 자바스크립트 및 가 확인 상자하기 전에 사용자가 창을 닫습니다.그러나 하려고 하면 패킷을 전송하면 서버에서 즉시기 전에 창이 실제로 닫히 찾을 수있을 거라 생각되는 것을 어렵게 작업들에게 이 모든 사용자 친화적이다.당신이 쓸 수 있는 몇 가지 자바 스크립트는 메시지를 보내 서버를 사용하여 AJAX 를 통지하는 서버는 사용자가 닫을 자신의 브라우저를 사용하여 다음을 더 자바 스크립트를 다음 브라우저를 닫는 메시지가 전송되었습니다.그러나 사용자에게 짜증나는 메시지(대부분의 브라우저에서)는 스크립트를 하려고 창을 닫습니다.이 매우 아마추어 흉내 사용자 및 그들을 만들 수 있습니다에 대해 두 번 생각하고 돌아옵니다.

그래서 만약 당신이 하고자 하는 지연,난을 피하기 이 전체적인 Javascript 엉망 전체에 의존하고 순수한 서버 사이드 솔루션을 사용하여 session_end 등().모든 후,사용자가 창을 닫거나,잎 ASP.NET 이 결국 알 수 있기 때문에 세션 시간이 초과됩니다.

다른 팁

Session_end 등을 처리하는 세션 시간 문제입니다.그러나,이하지 않는 경우 사용자는 브라우저를 닫거나 움직이 다른 URL.그 때까지 기다립니다 세션 제한 시간이 만료됩니다.

을 검출하기 위해 다른 조건은,당신은 당신을 사용해야에서 자바스크립트는 클라이언트.그러나,이러한 방법이 항상 신뢰할 수 있는 브라우저에 따라/버전,etc.또한 경우에는 사용자의 컴퓨터를 종료하고 아래로,분리,또는 그들이 그렇지 않으면 완전히 이동 거리는 이 스크립트입니다.

고려할 수 있습니다 다른 대안을 찾기 시작했습니다.정확히 무엇을 달성하고자 하는 이 기능이?

웹은 무 그래서 당신이 있는지 여부 사용자가 닫히는 브라우저 창에 있습니다.사용할 수 있는'session_end 등'행사에서는 글로벌입니다.맨 파일에 대한 세션 제한 시간.에 액세스하려면 모든 세션을,저장할 수 있습니다 그들은 컬렉션을 통해'Session_Start'이벤트를,또한 전체 파일..

편집:하려면을 차단하기 위해 가까운 이벤트의 페이지를 자바스크립트를 사용하여 여기에는 방법(참고로,이는 신뢰할):

window.onbeforeunload = closeIt;

function closeIt(){ 


  return "You have unsaved changes. Are you sure you want to leave this page?";

}

할 수 있습 basepage 는 상속에 의해 모든 페이지에서 당신의 기본 페이지 초기화 이벤트 확인을 위한 세션 변수에 대한 아무것도 아니다.면 그것은 아무것도 그것을 의미청 및 리디렉션할 수 있습니다 사용자를 로그인 페이지입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top