SessionState 시간 초과가 발생할 때 웹 페이지를 닫으려고합니다. 내 웹 구성의 코드입니다.ASP.NET SessionState TimeOut 작동하지 않음
<system.web>
<sessionState timeout="1" mode="InProc"/>
</system.web>
테스트 목적으로 1 분으로 설정되었습니다. 는 IS 다음 내 Global.asax에 코드 :
lblSession.Text = "SESSION TIME: " + Session.Timeout.ToString();
:
protected void Session_End(object sender, EventArgs e)
{
Response.Redirect("~/LogOut.aspx");
}
내가 세션 제한 시간을 확인하기 위해 페이지 중 하나에 라벨을 부착,이 Page_Load 이벤트의 코드는 사이트에 들어가서이 페이지로 이동하면 레이블에 세션 시간 : 1이 표시되지만 1 분 후에 LogOut 페이지로 리디렉션되지 않고 현재 페이지가 여전히 완전히 활성화되어 작동 중입니다. 세션이 완료되지 않았 음을 의미합니다. 종료 됨. Visual Studio 2008에서 개발 서버를 통해 작업 중이므로 IIS 설정과 관련된 제안은이 단계에서 적절하지 않은 것으로 보입니다. 도와주세요!
해당 지점에서 Response가 null이므로 코드가 충돌 할 수도 있습니다. –
자바 스크립트 타이머를 만드는 데 도움이 될만한 것이 있습니까? 고맙습니다. –
나는 AJAX 타이머를 사용했다. page_Load에서 세션 시간 초과 값을 밀리 초 단위로 시간을 가져 오기 위해 60000을 곱한 int 변수에 넣은 다음 세션 시간 초과가되기 전에 타이머가 발생하도록 시간 제한에서 2000 밀리 초까지 타이머의 interval 속성을 설정합니다. . LogOut 페이지로 리디렉션되는 Timer_Tick 이벤트가 발생합니다. 그것은 잘 작동합니다. 고맙습니다! –