요약 : Windows 탐색기를 사용하여 ASP.NET 웹 사이트를 탐색 할 때 팝업 창은 부모 창에서 세션 쿠키를 "차용하지"않습니다.ASP.NET : 팝업 브라우저 창과 세션 쿠키
세부 사항 :
저는 ASP.NET 웹 사이트 (.NET 2.0)에서 작업하고 있습니다. FormsAuthentication을 사용합니다. 세션을 처리하려면 쿠키를 사용해야합니다.
페이지에 버튼이 있습니다. 사용자가 클릭하면 팝업 창이 열립니다. 팝업 창에는 이전에 상위 브라우저 창에서 설정 한 세션 변수를 사용하는 ASPX 페이지가 표시됩니다. 나는 IE (6, 7, 8)와 Firefox 2.0을 사용하여 웹 사이트를 테스트 해왔다. 이 모든 브라우저에서 팝업 창은 상위 브라우저 창과 동일한 세션에 대한 액세스 권한을 가지며 모든 것이 정상적으로 작동합니다.
이제 팝업 창에 오류가 표시된다는 클라이언트의 버그가 있습니다. 로그 파일을 보면 팝업 페이지가 세션 변수에 액세스하려고 시도하는 순간 NullReferenceException이라는 것을 알 수 있습니다. 고객과 이야기하면서 그는 Windows Explorer에서 메인 웹 사이트를 열었다 고 말했습니다.
테스트 컴퓨터에서 문제를 다시 생성하고 팝업에서 새 세션을 사용하고 있음을 확인했습니다.
컴퓨터에 IE6이 설치된 Windows XP가 있어야합니다! IE7에서는 웹 사이트가 정상적으로 작동합니다.
동일한 문제가 있는데 다음 단계로 재현 할 수 있습니다. IE하지만 탐험가와 거기에 웹 사이트로 이동. Explorer는 자동으로 IE로 변경되지만이 버전은 손상되어 상위 창과 쿠키 또는 세션 키를 공유 할 수 없습니다. –