ASP 모든 Session 변수 가져오기 구현 코드

2172 단어
 
  
Dim strName, iLoop
For Each strName in Session.Contents
Response.Write strName & " - " & Session.Contents(strName)& "[BR]"
Next

일반적인 상황에서 위의 코드는 매우 잘 작동할 수 있다.그러나 세션 변수가 객체 또는 배열일 경우 인쇄 결과가 잘못됩니다.그러면 코드를 다음과 같이 수정합니다.
 
  
' Session ?
Response.Write "There are " & Session.Contents.Count & _
" Session variables

"
Dim strName, iLoop
' For Each Session.Contents
' Session ?
If IsArray(Session(strName)) then
'
For iLoop = LBound(Session(strName)) to UBound(Session(strName))
Response.Write strName & "(" & iLoop & ") - " & _
Session(strName)(iLoop) & "
"
Next
Else
' ,
Response.Write strName & " - " & Session.Contents(strName) & "
"
End If
Next


세션 변수가 작동하지 않을 때가 있습니다. 왜요?많은 가능성이 있습니다. 첫째, 클라이언트가 쿠키 조작을 허용하지 않으면session은 효력을 상실합니다.세션은 쿠키에 의존하기 때문입니다.둘째, 세션은 실효 시간의 설정이 있다.기본 설정은 20분입니다.Web directory -> Properties -> Virtual directory -> Application settings -> Configuration -> App Options -> Session timeout 또는 ASP에 이런 코드를 쓰십시오:Session.timeout=60 .셋째, 세션은 구체적인 웹 응용 프로그램과 관련이 있다.만약 사용자가/products/default에서asp에서/jobs/default를 찾습니다.asp,session을 다시 만들 수도 있습니다.더 이상 필요하지 않은session 변수를 어떻게 제거하지만session이 효력을 상실하지 않습니까?ASP3.0중: Session.Contents.Remove 변수 이름은 변수를 지울 수 있습니다.ASP2.0에서: set session(변수 이름) = NULL은 변수를 지울 수 있습니다.ASP3.0 중, Session.Contents.RemoveAll은 모든 세션 변수와 세션을 지울 수 있습니다.abandon과 달리 위의 방법은 현재의session을 만료시키거나 무효화시키지 않습니다.ASP 페이지 맨 위에 있는 것은 무슨 뜻입니까?IIS는 각 세션 변수가 페이지마다 사용할 수 있도록 세션 추적이라는 기술을 사용합니다.사용자가 ASP 페이지를 방문할 때 IIS는 먼저 이 페이지에 각각의 세션 변수를 준비합니다. 이것은 당연히 성능에 영향을 미칠 수 있습니다.(Session 변수를 사용하는 대가가 항상 높다!)만약 100개의 페이지가 있고 5개의 페이지만 세션을 사용한다면 전체적인 성능을 위해 5개의 페이지에서 설정하기만 하면 된다.
 
  


다른 페이지 설정은 다음과 같습니다.
 
  

좋은 웹페이지 즐겨찾기