프로그램 디버깅에서 때때로 얼마나 많은 세션 변수가 사용되었는지, 그 값은 무엇입니까? 세션 객체는 Contents라는 컬렉션을 제공하기 때문에 For ... Every Loop : Dim Strname, Iloop, Iloop를 통해 목표를 달성 할 수 있습니다.
세션에서 각 strname에 대해
응답. 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-> 응용 프로그램 설정-> 구성-> 앱 옵션-> 세션 타임 아웃
또는 ASP에서 그러한 코드를 작성하십시오. session.timeout = 60.
셋째, 세션은 특정 웹 응용 프로그램과 관련이 있습니다. 사용자가 /products/default.asp에서 /jobs/default.asp에서 찾아 내면 세션이 다시 생성 될 수도 있습니다. 더 이상 필요하지 않지만 세션에 실패하지 않는 세션 변수를 지우는 방법은 무엇입니까? ASP3.0에서 :
SESSION.CONTENTS.REMOVE "변수 이름"
변수를 제거 할 수 있습니다.
ASP2.0에서 :
세션을 설정합니다 ( "변수 이름") = null
변수를 지울 수 있습니다.
ASP3.0에서
SESSION.CONTENTS.REMOVEAL
모든 세션 변수와 세션을 지울 수 있습니다. ASP 페이지 상단의 < %@ enablesessionstate = true %>의 의미는 무엇입니까? IIS는 각 페이지에서 각 세션 변수를 사용할 수 있도록 세션 추적이라는 기술을 사용합니다. 사용자가 특정 ASP 페이지를 방문하면 IIS는 먼저이 페이지의 각 세션 변수를 준비하므로 성능 효과가 있습니다. (세션 변수 사용 비용은 항상 매우 높습니다!)
100 페이지가 있고 5 페이지 만 세션에 사용되는 경우 전체 성능을 위해서는 5 페이지에서만 설정하면됩니다.
< %@ enablesessionstate = true %>
다른 페이지는 다음으로 설정됩니다.
< %@ enablesessionstate = false %>