현재 오프라인 상태입니다. 인터넷에 다시 연결하기를 기다리고 있습니다.

PRB: ASP가 프레임셋에 있을 때 세션 변수가 손실된다

이 문서는 이전에 다음 ID로 출판되었음: KR178037
현상
Active Server Page(ASP)에서 정의한 세션 변수의 값을 프레임셋 내의 다른 ASP 페이지에서 액세스하려고 할 때 세션 변수의 값이 비어 있습니다.
원인
Internet Explorer 4.x 및 5.0은 프레임셋의 서로 다른 프레임을 같은 프로세스에 호스팅하지 않을 수도 있습니다. ASP 세션은 호스트된 프로세스의 메모리에 있는 쿠키에 의존하기 때문에 서로 다른 프로세스는 서로 다른 세션 쿠키, 즉 서로 다른 세션을 갖습니다.
해결 방법
이 문제는 IE 5.5에서 해결되었습니다.

응용프로그램이 IE 4.x 및(또는) IE 5.0을 지원해야 한다면, 세션 변수를 쿠키로 바꾸십시오. 쿠키는 만료일을 지정해야 합니다. 만료일을 지정해야 쿠키값이 디스크에 저장됩니다. 어떤 프레임에 호스트되는 것과 상관없이 모든 프레임은 디스크상의 동일한 위치에서 쿠키정보를 얻을 수 있습니다.

예를 들어, 아래의 코드를 쿠키 값에 명시된 코드로 바꿉니다.
  Session("MyVariable") = "MyValue"
쿠키 값:
  Response.Cookies("MyVariable") = "MyValue"  Response.Cookies("MyVariable").Expires = Now() + 1 '24 hours  Response.Cookies("MyVariable") = "MyValue" Response.Cookies("MyVariable").Expires = Now() + 1 '24 hours				
출력 스트림을 브라우저로 보내기 전에 쿠키가 작성되어야 합니다. 또한, 아래 코드를 사용하여 페이지에서 출력 버퍼링을 사용 가능하게 설정해야 할 수도 있습니다.
  <%@ language="vbscript" %>  <%Response.Buffer = True%>
IIS 5.0 Active Server Pages에서는 기본적으로 출력 버퍼링이 사용 가능하게 설정되지만 IIS 4.0 Active Server Pages에서는 그렇지 않습니다.
참조
자세한 내용은 아래의 문서 번호를 눌러 Microsoft 기술 자료에 있는 문서를 참고하십시오.
196383 FIX: Windows Opened by Script Lose Authentication or Session
속성

문서 ID: 178037 - 마지막 검토: 01/22/2004 17:33:00 - 수정: 3.0

  • Microsoft Active Server Pages 4.0
  • Microsoft Internet Information Server 4.0
  • Microsoft Internet Information Services 5.0
  • Microsoft Internet Explorer 5.0
  • Microsoft Internet Explorer 5.5
  • kbscript kbcodesnippet kbaspobj kbvbscript kbgrpasp kbvisid KB178037
피드백