Latest web development tutorials

ASP 세션 개체

세션 개체는 사용자 세션 (세션)에 대한 정보를 저장하거나, 사용자 세션 (세션) 설정을 변경하는데 사용된다.


세션 개체

당신이 당신의 컴퓨터에 응용 프로그램을 작동 할 때, 그것을 열 몇 가지 변경 작업을 수행하고 닫습니다. 그것은 대화 (세션)처럼. 컴퓨터가 당신이 누구인지 알고있다. 당신이 열고, 응용 프로그램을 종료 할 때 분명하다. 그러나 인터넷에 문제가 발생 : HTTP 주소는 웹 서버가 당신이 누군지 알고 당신이하지 않았다 않기 때문에 보유 할 수 없습니다.

이 문제를 해결하기 위해 각 사용자에게 고유 한 쿠키를 작성하여 ASP. 쿠키는 사용자 식별 정보를 포함하는 사용자의 컴퓨터로 전송된다. 이 인터페이스는 세션 개체라고합니다.

세션 개체는 사용자 세션 (세션)에 대한 정보를 저장하거나, 사용자 세션 (세션) 설정을 변경하는데 사용된다.

가변 저장 한 사용자의 정보는 세션 객체에 저장되고, 모든 페이지의 응용에 사용할 수있다. 공용 정보 세션 변수에 저장된은 일반적으로 이름, ID 및 매개 변수입니다. 서버는 각각의 새로운 사용자에 대한 새 세션을 생성하고, 세션이 만료 될 때 세션 개체에서 철수.


세션은 언제 시작?

세션에서 시작 :

  • 새로운 사용자가 ASP 파일을 요청하고 Global.asa 파일 참조 Session_OnStart 루틴
  • 변수 세션에 저장된 값
  • 사용자가 ASP 파일을 요청하고, Global.asa에 객체의 인스턴스를 세션의 범위에 <object> 태그를 사용하여

세션이 종료됩니다?

사용자가 요청하거나 응용 프로그램에 지정된 시간 내에 페이지를 새로 고침하지 않으면 세션이 종료됩니다. 기본값은 20 분입니다.

기본 값보다 짧거나 긴 시간 초과 간격을 설정하려면, 당신은시간 제한 속성을 사용할 수 있습니다.

다음 예제 5 분의 제한 시간 간격을 설정합니다 :

<%
Session.Timeout=5
%>

즉시 세션을 종료하려면 방법을포기을 사용하십시오 :

<%
Session.Abandon
%>

주 : 세션을 사용하는 경우 큰 문제들이 끝날 때이다.우리는 사용자의 가장 최근의 요청이 마지막 요청 알고하지 않습니다. 따라서, 우리는 오랫동안 "생존"만들기 세션을 모른다. 무료 세션 시간이 초과하는 것은 서버 리소스가 부족합니다. 서버가 모든 정보가 삭제 되었기 때문에, 세션이 조기에 제거되는 경우, 사용자는 또 다시 시작해야 할 것입니다. 오른쪽 시간 제한 간격을 찾는 것은 어려울 수 있습니다!

팁팁 : 세션 변수에 소량의 데이터 만 저장하는!


세션 변수를 저장하고 검색 할 수

세션 객체는 응용 범위가 매우 넓고, 가장 큰 장점은 다음 페이지를 읽을 저장하는 변수입니다.

은 "도널드 덕"변수라는이름에할당 된 세션"50"의 예는 세션의 변수라는나이에할당됩니다 :

<%
Session("username")="Donald Duck"
Session("age")=50
%>

값이 세션 변수에 저장 될 때, 어떤 페이지를 사용 ASP 응용 될 수있다 :

Welcome <%Response.Write(Session("username"))%>

"환영 도널드 덕"코드 반환이 줄 위의 결과.

또한 세션 개체의 사용자 파라미터들을 저장하고, 그 페이지는 사용자에게 리턴되는 결정하기 위해 이러한 파라미터들을 액세스 할 수있다.

다음의 예는 사용자가 저해상도 디스플레이를 사용하는 경우, 그 페이지의 일반 텍스트 버전을 반환하도록 제공

<%If Session("screenres")="low" Then%>
This is the text version of the page
<%Else%>
This is the multimedia version of the page
<%End If%>


세션 변수를 제거

내용 수집은 모든 세션 변수가 포함되어 있습니다.

세션 변수 제거 방법에 의해 제거 될 수있다.

세션 변수의 값은 "연령"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
%>