2012-10-05 2 views
0

Google을 검색하면 세션 만료가 프로그래밍 방식으로 감지되는 여러 가지 답변을 찾을 수 있습니다. 이것은 내가 모든 사람들이 내가 세션이 Context.Session가 null되지 않습니다 방법 다음 만료 위의 코드 1)에 몇 가지 질문이 그것을세션 만료를 프로그래밍 방식으로 감지하는 방법

global.asax 
--------------- 
protected void Session_Start(object src, EventArgs e) 
{ 
if (Context.Session != null && Context.Session.IsNewSession) 
{ 
    string sCookieHeader = Request.Headers["Cookie"]; 
    if (null != sCookieHeader && sCookieHeader.IndexOf("ASP.NET_SessionId") >= 0) 
     Response.Redirect("/Session/Timeout"); 
} 
} 

를 사용 보았다 코드? 2)이 라인의 의미는 무엇입니까 Request.Headers["Cookie"];

좋은 토론을 원합니다. 세션이 Context.Session가 null되지 않습니다 방법 다음 만료되면 감사

+0

on Session_Start, Session.IsNewSession은 항상 true입니다. 네가 잘못된 길로 가고 있다고 생각해서 너는 무엇을하려 하는가? –

+0

세션 종료에 연결하려면이 것을 확인하십시오. http://stackoverflow.com/questions/621744/how-to-handle-session-end-in-global-asax –

답변

0

1)에 Session_End 방법을 사용할 수 있습니까?

사용자가 세션이 만료 된 서버로 다시 돌아올 때 코드가 실행됩니다. 이 코드의 세션 개체는 시작되는 새로운 빈 세션입니다. Session_End가 아니라 Session_Start에 있다는 것을 기억하십시오.

2)이 줄의 의미는 무엇입니까? Request.Headers [ "Cookie"];

쿠키는 세션의 ID를 포함합니다. 사용자가 ressource를 요청하고 세션 ID를 제공하고 Session_start가 트리거되면 세션 ID가 만료 된 세션 객체를 참조한다는 것을 거의 확실하게 의미합니다. 그런 다음 특정 메시지가 사용자에게 표시됩니다.

1

당신은 Global.asax 파일

void Session_End(Object sender, EventArgs E) { 
    // Clean up session resources 
} 
관련 문제