2009-10-01 5 views

답변

2

세션 개체는 하나의 단위입니다. 메모리 자원 부족으로 세션이 짧아지면 단일 특성이 아닌 전체 오브젝트가 제거됩니다.

Session 개체의 단일 값이 사라지는 경우 가장 큰 이유는 제거 할 수있는 코드가 있다는 것입니다.

1

세션 및 캐시는 분명히 휘발성 저장 매체입니다. 나는 서로 영향을 미치는 우선 순위가 있는지 확신 할 수 없지만, 당신이 고려해야 할 메모리 압박 이상의 요인이 더 있습니다. 예를 들어, Session은 응용 프로그램 풀을 재활용하는 web.config를 수정하여 간단하게 지워집니다. 물론 이것은 기본 세션 저장소 공급자를 사용하고 있다고 가정합니다. 특정 시나리오에서 도움이 될 수있는 경우 out of process 또는 SQL Session 저장소로 변경할 수 있습니다.

+0

Out of Process ASP.NET 세션 상태 서버를 사용하고 있습니다. 그러나 세션의 특정 필드가 축출되고 다른 세션이 여전히 남아있는 시나리오를 만날 수 있는지 궁금했습니다. – Alex

3

캐시와 동일한 방식으로 메모리를 절약하기 위해 자동 제거되지 않습니다. 그러나 작업자 프로세스의 메모리가 부족하면 자동으로 다시 시작됩니다. InProc 세션 저장소를 사용하는 경우 모든 세션이 손실된다는 의미입니다.

+0

Matt와 동일한 코멘트 - Out of Process ASP.NET 세션 상태 서버를 사용하고 있습니다. 그러나 세션의 특정 필드가 축출되고 다른 세션이 여전히 남아있는 시나리오를 만날 수 있는지 궁금했습니다. – Alex

+0

@Alex - 아니요. ASP.Net 세션 상태 서버는 메모리 부족이나 기타 이유로 인해 세션에서 임의의 값을 잃어 버리지 않습니다. – jsight