이상한 문제이며 무슨 일이 일어나고 있는지 확실하지 않습니다. IIS7과 .net 4.0을 사용하고 있습니다.브라우저 창이 닫히면 Asp.Net 세션 변수가 포기되지 않습니까?
브라우저를 닫은 후에도 세션 쿠키가 클라이언트에 남아 있지 않은 것처럼 보였습니다. 또 다른 이상한 점은 IE를 닫고 FireFox를 열 수 있으며 세션도 거기에 있다는 것입니다. 방법 것입니다? 내 환경이 어떻게 설정되는지 생각 중입니다. InProc 세션을 IIS에서 쿠키를 사용하도록 설정했습니다. IIS7과 다른 점은 무엇입니까?
업데이트 : 내 응용 프로그램 풀에 통합 모드를 사용하고 있습니다. Sever2003에서 실행되는 .net 3.5 및 iis6을 사용하여 만든 이전 사이트를 살펴 보았습니다. 사이트에 로그인 할 수 있으며 세션 변수가 생성됩니다. 그런 다음 FireFox에 가서 동일한 사이트를 엽니 다. 로그인이 필요합니다 (세션이 존재하면 내 응용 프로그램이 사용자의 prfile로 연결됩니다). 그런 다음 IE를 닫고 IE를 다시 연 다음 내 사이트로 돌아 가면 다시 로그인해야합니다. iis7과 현재 사용중인 응용 프로그램에서 일어나는 일은 아주 이상합니다. 내 세션을 가져 오는 방법의 유일한 차이점은 현재 처리기를 Page 개체에 캐스팅하는 동안 변수를 가져 오는 것입니다. (페이지) HttpContext.Current.Handler
업데이트 : 글쎄, 문제가있는 곳을 찾은 것 같아요. HttpContext.Current.Handler를 현재 페이지 객체로 캐스팅하는 것과 관련이 있습니다. 다른 모든 클래스가 내가 만든 User 세션 객체를 얻기 위해 중앙 지점을 참조 할 수 있도록 속성을 배치하려는 구성 파일이 있습니다. HttpContext.Current.session은 항상 null이며 누군가 HttpContext.Current.Handler를 형변환하도록 제안했습니다. 나는 세션 varaible이 만들어 졌는지 아닌지 확인하는 간단한 페이지를 만들었다. 그런 다음 그 가치를 인쇄합니다. 브라우저를 종료하면 세션이 종료됩니다. 그래서, 그것은 효과가 있습니다. 원래이 메시지에 포함 된 코드는 뒤로 버튼 용 이었지만 Andrew가이를 지적 해 주셔서 감사합니다. 그래서 나는 Hnadler에서 가져온 세션이 왜 speicifcally clear 할 때까지 항상 사용 가능한지 명확하지 않다.
해당 코드는 쿠키 또는 세션과 관련이 없습니다. –
내가 아는 한, 나는 모든 sated 쿠키가 클라이언트에 머무르는 것을 유지하는 것이 었습니다. – DDiVita
앞서 언급했듯이이 코드는 쿠키 나 세션과는 전혀 관련이 없습니다. 이 질문에 완전히 무의미하며 제거해야합니다. –