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

기술 자료 번역 기술 자료 번역
기술 자료: 178037 - 이 문서가 적용되는 제품 보기.
이 문서는 이전에 다음 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

속성

기술 자료: 178037 - 마지막 검토: 2004년 1월 22일 목요일 - 수정: 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

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com