2010-08-20 6 views
0

HttpContext.Current.Session이 null이됩니다. null입니다.HttpContext.Current.Session이 null입니다.

웹 팜에서 호스팅되는 응용 프로그램이있는 경우 문제가 될 수 있습니다.

+0

어디서 났니? ASP.net 페이지에서? – Paddy

+1

좀 더 자세한 정보를 제공해 주시겠습니까? –

+0

ASP.Net 페이지에서이 문제가 발생합니다. –

답변

2

사용중인 세션 유형에 따라 다르지만 팜에서 실행하면 문제가 발생합니다. 로드 밸런서 또는 서버간에 요청을 분할하기 위해 사용하는 것이 모두 스테이트리스라면 요청을 모든 이전 서버로 전달합니다. 세션 데이터가 proc에 저장된 경우에는 하나의 서버에만 저장됩니다. 다음 요청이 다른 서버로 이동하면 세션 데이터가 더 이상 존재하지 않게됩니다.

이렇게하는 가장 좋은 방법은 항상 하나의 사용자 요청을 동일한 서버에 전달하거나 웹 서버와 독립적 인 세션 서버와 같은 다른 세션 유형으로 일관된 세션 상태를 제공 할 수있는 지능형로드 균형 조정 모든 웹 서버에 적용됩니다.

이러한 상황에서 현재 세션 상태가 null이 될 것이라고 예상하지는 않았지만 단지 비어 있습니다. 나는 최근에 inproc 세션 상태에 대한 액세스 권한이없는 것처럼 보이는 새 스레드를 시작하는 컨텍스트에서 자신이 널 세션을 통해 적합하다고 생각했습니다.

이들 중 어느 것이 당신에게 문제가되는지 여부는 말할 것도 없지만 서버 팜의 문제점을 언급 할 가치가 있는지 여부를 알고 있는지 확인하십시오. :)

관련 문제