2017-10-11 1 views
2

ASP.NET MVC 5 응용 프로그램을 만들고 있습니다. 응용 프로그램을 몇 분 (약 15 분) 방치하면 세션이 시간 초과되고 더 이상 세션 값에 액세스 할 수 없습니다. 슬프게도이 일어나고 아니에요,초기 세션 시간 초과를 유발하는 요소

<sessionState mode="InProc" timeout="30" /> 

그래서 당신이 세션 30 분 제한 시간이 예상 :

그러나 내 web.config 파일에, 나는 다음 코드 줄을 가지고있다. 세션을 5 분으로 줄이면 세션은 5 분 만에 시간 초과되지만 30 분 같은 더 큰 값으로는 너무 일찍 종료됩니다.

초기 세션 시간 초과를 유발할 수있는 이벤트 또는 상황은 무엇입니까?

+4

InProc 세션 상태를 사용 중이므로 세션을 메모리에 유지하는 것이 응용 프로그램 풀의 책임이됩니다. 응용 프로그램 풀이 재활용 되었습니까? 몇 분 후에 다른 서버/프로세스로 보낼 수있는로드 균형 환경을 실행하고 있습니까? – sisve

+0

응용 프로그램 풀에 대한 유휴 시간 제한 설정을 설정해야 할 수 있습니다. 기본 시간은 20 분입니다. –

+0

가능한 [20 분 이상 세션 시간 초과를 설정하는 방법 ||(https://stackoverflow.com/questions/1725925/how-to-set-session-timeout-more-than-20)의 중복 가능 -min) – Juan

답변

1

서버 쪽과 클라이언트 쪽 모두에 올바른 시간 초과 값이 설정되어 있는지 확인해야합니다. 클라이언트 측이 30으로 설정되고 서버 측이 아무 것도 설정되지 않은 경우 기본값은 20 분 (20 분이 시간 초과라고 생각됩니다)입니다. 이보다 더 많은 것이 있다면 다른 디자인 패턴을보고 싶을 것입니다. 실제로 확장해야하는 경우 확장 된 시간 초과로 양쪽 끝을 구성해야합니다.

관련 문제