2011-10-06 2 views
1

바구니 데이터를 세션에 저장하려고하는데 세션이 지속되지 않는 것으로 나타났습니다. 세션을 디버깅 할 때 요청간에 SessionID가 변경된다는 것을 알게되었습니다..Net 세션 ID가 요청마다 바뀌고 있습니다.

나는 내 마스터 페이지에 다음과 같은 한 :

protected override void OnInit(EventArgs e) { 
    base.OnInit(e); 
    Session["B2C_Session"] = true; 
} 

는 왜 이런 일이 일어날까요? 그 원인은 무엇이며 어떻게 고칠 수 있습니까? .net 3.5를 사용 중입니다.

+3

정말 자세한 정보 나 코드를 제공해야합니다. 기본적으로 ASP.NET 응용 프로그램은 세션 ID를 쿠키에 저장합니다. 클라이언트가 쿠키를 거부하면 세션 ID가 저장되지 않으므로 특정 세션에 클라이언트를 묶을 방법이 없습니다. 마스터 페이지에 –

+0

: \t 보호 재정의 무효하는 OnInit (EventArgs입니다 전자) \t { \t \t base.OnInit (전자); \t \t 세션 [ "B2C_Session"] = true; \t} – HGMamaci

+0

Ek0nomik의 힌트 덕분에 localhost의 쿠키를 확인하고 삭제했습니다. 그런 다음 응용 프로그램을 다시 시작한 후에 작동했습니다. 로컬 호스트의 세션 쿠키가 서로 간섭을 일으킨 것 같습니다. 오래 전에이 문제가 있었지만 해결책을 잊어 버렸습니다. 누군가가 필요로 할 때를 대비하여 여기에 자신의 답글을 씁니다. – HGMamaci

답변

4

기본적으로 ASP.NET 응용 프로그램은 세션 ID를 쿠키에 저장합니다. 클라이언트가 쿠키를 거부하면 세션 ID가 저장되지 않으므로 특정 세션에 클라이언트를 묶을 방법이 없습니다.

세션이 지속될 수 있도록 클라이언트가 쿠키를 허용하는지 확인하십시오.

관련 문제