세션 객체는 사용자 세션에 대한 정보 또는 변경 설정을 저장합니다.
세션 객체
당신이 당신의 컴퓨터에서 응용 프로그램으로 작업 할 때, 당신은, 몇 가지 변경을 열고 당신은 닫습니다. 이것은 많은 세션 같다. 컴퓨터가 당신이 누구인지 알고있다. 당신이 그것을 닫을 때 응용 프로그램을 열고 때 알고있다. 그러나 인터넷에서 한 가지 문제가있다 : HTTP 주소가 상태를 유지하지 않기 때문에 웹 서버, 당신은 무엇을 당신이 누군지 알고하지 않습니다.
ASP는 각 사용자에 대해 고유 한 쿠키를 만들어이 문제를 해결한다. 쿠키는 사용자의 컴퓨터로 전송하고 사용자를 식별하는 정보를 포함합니다. 이 인터페이스는 세션 개체라고합니다.
세션 객체는 사용자 세션에 대한 정보 또는 변경 설정을 저장합니다.
하나의 단일 사용자에 대한 세션 객체 보류 정보에 저장된 변수, 그리고 하나의 응용 프로그램의 모든 페이지에 사용할 수 있습니다. 세션 변수에 저장된 공통 정보는 이름, ID, 및 환경 설정입니다. 서버는 각각의 새로운 사용자에 대한 새 세션 객체를 생성하고, 세션이 만료 될 때 세션 객체를 파괴한다.
때 세션 시작합니까?
세션은 때 시작합니다
- 새로운 사용자가 ASP 파일을 요청하고, Global.asa 파일은 Session_OnStart 절차를 포함
- 값은 세션 변수에 저장된
- 사용자는 ASP 파일을 요청하고, Global.asa 파일이 사용하는 <object> 세션 범위의 객체를 인스턴스화 태그
때 세션이 종료합니까?
사용자가 요청 또는 지정된 기간 동안 응용 프로그램에서 페이지를 새로 고침하지 못한 경우 세션이 종료됩니다. 기본적으로이 20 분입니다.
기본값이 아닌 짧거나 긴 시간 제한 간격을 설정하려면 사용 Timeout 속성을.
아래의 예는 5 분으로 제한 시간 간격을 설정
<%
Session.Timeout=5
%>
사용을 Abandon 즉시 세션을 종료하는 방법 :
<%
Session.Abandon
%>
Note: 그들이 종료시기 세션이 가장 큰 문제입니다. 사용자의 마지막 요청은 마지막 하나가 아니었다면 우리는 모른다. 그래서 우리는 우리가 세션을 유지해야하는 시간을 모른다 "alive" . 유휴 세션에 너무 오래 기다리는 것은 서버의 리소스를 사용하지만 세션이 너무 빨리 삭제 된 경우 사용자는 서버가 모든 정보를 삭제했기 때문에 모든 것을 다시 시작해야합니다. 권리 제한 시간 간격을 찾는 것은 어려울 수 있습니다!
Tip: 만 세션 변수에 적은 양의 데이터를 저장!
저장 및 세션 변수를 검색
세션 개체에 대한 가장 중요한 것은 당신이 그것을에서 변수를 저장할 수 있다는 것입니다.
아래의 예는 세션 변수를 설정합니다 username 에 "Donald Duck" 와 세션 변수 age 에 "50" :
<%
Session("username")="Donald Duck"
Session("age")=50
%>
값은 세션 변수에 저장 될 때 그것은 ASP 응용 프로그램의 모든 페이지에서 접근 할 수 있습니다 :
Welcome <%Response.Write(Session("username"))%>
반환 위의 라인 : "Welcome Donald Duck" .
또한 세션 개체에서 사용자 기본 설정을 저장하고 사용자에게 반환 할 것을 페이지 선택이 기본 설정에 액세스 할 수 있습니다.
사용자가 낮은 화면 해상도가있는 경우 아래의 예는 페이지의 텍스트 전용 버전을 지정합니다 :
<%If Session("screenres")="low" Then%>
This is the text version of the page
<%Else%>
This is the multimedia version of the page
<%End If%>
세션 변수를 제거
목차 컬렉션 모든 세션 변수가 포함되어 있습니다.
제거 방법과 세션 변수를 제거 할 수 있습니다.
아래의 예는 세션 변수 제거 "sale" 세션 변수의 값 경우 "age" 18보다 낮은 :
<%
If Session.Contents("age")<18 then
Session.Contents.Remove("sale")
End If
%>
세션에있는 모든 변수를 제거하려면에서 removeAll 메소드를 사용합니다 :
<%
Session.Contents.RemoveAll()
%>
목차 컬렉션을 통해 루프
목차 컬렉션 모든 세션 변수가 포함되어 있습니다. 당신은 내용 컬렉션을 루프는 그 안에 저장된 것을 볼 수 있습니다 :
<%
Session("username")="Donald Duck"
Session("age")=50
dim i
For Each i in Session.Contents
Response.Write(i & "<br>")
Next
%>
결과:
username
age
당신은 내용 컬렉션의 항목 수를 모르는 경우 Count 속성을 사용할 수 있습니다 :
<%
dim i
dim j
j=Session.Contents.Count
Response.Write("Session variables: " & j)
For i=1 to j
Response.Write(Session.Contents(i) & "<br>")
Next
%>
결과:
Session variables: 2
Donald Duck
50
StaticObjects 컬렉션을 통해 루프
당신은 StaticObjects 컬렉션을 루프, 세션 객체에 저장된 모든 개체의 값을 볼 수 있습니다 :
<%
dim i
For Each i in Session.StaticObjects
Response.Write(i & "<br>")
Next
%>