최신 웹 개발 튜토리얼
 

ASP세션 개체


세션 객체는 사용자 세션에 대한 정보 또는 변경 설정을 저장합니다.


세션 객체

당신이 당신의 컴퓨터에서 응용 프로그램으로 작업 할 때, 당신은, 몇 가지 변경을 열고 당신은 닫습니다. 이것은 많은 세션 같다. 컴퓨터가 당신이 누구인지 알고있다. 당신이 그것을 닫을 때 응용 프로그램을 열고 때 알고있다. 그러나 인터넷에서 한 가지 문제가있다 : 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
%>