프로그램 디버깅에서 때때로 얼마나 많은 세션 변수가 사용되었는지, 그 값은 무엇입니까? 세션 객체는 Contents라는 컬렉션을 제공하므로 For ... 각 루프를 통해 목표를 달성 할 수 있습니다.
Dim Strname, Iloop
세션에서 각 strname에 대해
Response.write strname &- & session.contents (strname) & [br]
다음
정상적인 상황에서는 위의 코드가 잘 작동 할 수 있습니다. 그러나 세션 변수가 객체 또는 배열 인 경우 인쇄 결과가 올바르지 않습니다. 이런 식으로 코드를 다음과 같이 수정합니다.
'먼저 얼마나 많은 세션 변수가 사용 되었습니까?
response.write 거기에 & session.contents.count & _
세션 변수 <p>
Dim Strname, Iloop
'세션을 확인하는 데 각각 사용됩니다
'세션 변수가 배열 인 경우?
iSarray (세션 (strname)이면
'원형 인쇄 배열의 각 요소
iloop = lbound (세션 (strname))에서 ubound (session (strname))
Response.write strname & (& iloop &) - & _
세션 (strname) (iloop) & <br>
다음
또 다른
'다른 경우에는 변수의 값을 간단히 인쇄하십시오.
응답. strname &- & session.contents (strname) & <br>
끝 If
다음
세션 변수는 때때로 작동 할 수 없습니다. 왜? 많은 가능성이 있습니다. 첫째, 클라이언트가 쿠키가 작동하지 않으면 세션이 실패합니다. 세션은 쿠키에 의존하기 때문입니다. 둘째, 세션에는 고장 시간이 설정되어 있습니다. 기본 설정은 20 분입니다. 다음과 같이 수정할 수 있습니다 : Web Diretory-> Properties-> Virtual Directory-> 응용 프로그램 설정-> 구성-> 앱 옵션-> 세션 시간 또는이 코드를 작성하십시오. 세션 .TIM EOUT = 60. 셋째, 세션은 특정 웹 응용 프로그램과 관련이 있습니다. 사용자가 /products/default.asp에서 /jobs/default.asp에서 찾아 내면 세션이 다시 생성 될 수도 있습니다. 더 이상 필요하지 않지만 세션에 실패하지 않는 세션 변수를 지우는 방법은 무엇입니까? ASP3.0 : session.contents.에서 변수를 제거하기 위해 변수 이름을 지울 수 있습니다. ASP2.0 : SET SESSION (변수 이름) = NULL로 변수를 제거합니다. ASP3.0에서 SESSION.CONTENTS.REMOVEALL은 Session.Abandon에서 모든 세션 변수를 지울 수 있습니다. ASP 페이지의 상단은 무엇을 의미합니까? IIS는 각 페이지에서 각 세션 변수를 사용할 수 있도록 세션 추적이라는 기술을 사용합니다. 사용자가 특정 ASP 페이지를 방문하면 IIS는 먼저이 페이지의 각 세션 변수를 준비하므로 성능 효과가 있습니다. (세션 변수 사용 비용은 항상 매우 높습니다!) 세션에 100 페이지가 있고 5 페이지 만 사용되면 전체 성능을 위해서는 해당 5 페이지에서만 설정하면됩니다.
< %@ enablesessionstate = true %>
다른 페이지는 다음으로 설정됩니다.
< %@ enablesessionstate = false %>