IIS 6.0이 설치된 ASP.NET에서 웹 가든을 고수하고 있습니다. 여러 소스 (Source1Source2)는 InProc 세션이 웹 가든과 잘 어울리지 않는 방법을 설명합니다. 그것을 증명할 프로그램을 만들었지 만 결과를 설명하기가 어렵습니다. 제 테스트 결과를 설명해주십시오.
테스트
IIS에서 최대 작업자 프로세스 수를 1000으로 설정했습니다. 세션에 문자열을 저장하고 버튼 클릭으로 값을 검색하는 웹 앱을 만듭니다. IE, FF 및 Blackberry 브라우저에서 웹 앱을 실행하십시오.
결과
IE은 : 일반적으로 제대로 세션을 가져옵니다. 웹 사이트를 ~ 3 분 동안 유휴 상태로두면 세션이 실패했습니다.
FF :
never
거의 실패하지 않았습니다. 앉아서 ~ 15 분 후에 세션이 실패했습니다.
BB : 규칙적으로 실패합니다. 비율은 Source2가 말하는 것과 일치합니다. 정원의 작업자 프로세스 수가 많을수록 세션 실패 가능성이 높아집니다.
내 해석
FF/IE/데스크탑 브라우저는 수도가 더 나은 캐싱 할 수 있습니다 더 많은 메모리를 가지고있다.웹 가든이 InProc 세션과 잘 어울리지 않는다는 증명
메모
IE를 설정하면 방문 할 때마다 새로운 버전의 페이지를 확인하도록 설정하지 않아도됩니다. Blackberry의 포스트 백이 w3wp.exe의 새로운 인스턴스를 만드는 것을 보장하지만 IE/FF의 포스트 백과 동일한 w3wp.exe 프로세스의 Mem 사용이 증가한다는 사실에 주목하십시오.
브라우저가 세션 상태에 아무런 영향을주지 않을 것으로 예상됩니다. 브라우저가 다르게 동작하는지 확인 하시겠습니까? 그 세션에 대한 어떤 증거가 실패 했습니까? – n8wrl
그 이유는 문자열이 세션에 없다는 것입니다. 따라서 TextBox에 세션 데이터를 채우려고 할 때 객체 참조가 객체 인스턴스로 설정되지 않습니다. –
페이지와 함께 브라우저로 전송되는 캐시 정책은 무엇입니까? 캐시 정책이있는 페이지를 반복적으로 방문하면 매번 서버로 이동하지 않습니다. 사실 그것은 세션이 살아있는 것처럼 보일 수도 있습니다. – n8wrl