세션 StaticObjects 컬렉션
StaticObjects 컬렉션에는 Session 개체 범위에서 <OBJECT> 태그를 사용하여 생성된 모든 개체가 포함되어 있습니다. 이 컬렉션을 사용하여 개체의 특정 속성 값을 확인하거나 컬렉션을 반복하고 모든 개체에 대한 모든 속성을 얻을 수 있습니다.
문법
Session.StaticObjects(Key)
매개변수
열쇠
검색할 속성입니다.
참고: 루프 제어 구조를 사용하여 StaticObjects 컬렉션의 키워드를 반복합니다. 아래 예를 참조하세요.
<%
희미한 객체
Session.StaticObjects의 각 objprop에 대해
Response.write(objproperty & " : " & Session.StaticObjects(objprop) & "<BR>")
다음
%>
세션 콘텐츠 컬렉션
Session.contents 컬렉션에는 <OBJECT> 태그를 사용하지 않고 이 세션에 대해 생성된 모든 항목이 포함됩니다. 이 컬렉션을 사용하면 지정된 세션 항목의 값을 확인하거나 컬렉션을 반복하고 세션의 모든 항목 목록을 검색할 수 있습니다.
문법
Session.Contents(Key)
매개변수
열쇠
가져올 속성의 이름입니다.
참고 루프 제어 구조를 사용하여 목차 컬렉션의 키워드를 반복할 수 있습니다. 다음 예에서는 이 프로세스를 보여줍니다.
<%
희미한 세션
Session.Contents의 각 세션에 대해
Response.write(sessitem & " : " & Session.Contents(sessitem) & "<BR>")
다음
%>
코드페이지
CodePage 속성은 동적 콘텐츠를 표시하는 데 사용되는 코드 페이지를 결정합니다.
문법
Session.CodePage(=코드페이지)
매개변수
코드페이지
이는 ASP 스크립팅 엔진이 실행 중인 시스템의 유효한 코드 페이지를 나타내는 부호 없는 정수입니다.
주석 코드 페이지는 숫자, 구두점 및 기타 문자를 포함할 수 있는 문자 세트입니다. 다른 언어와 지역에 대해 다른 코드 페이지를 사용할 수 있습니다. 예를 들어, ANSI 코드 페이지 1252는 미국 영어와 대부분의 유럽 언어에 사용되고 OEM 코드 페이지 932는 일본어 간지에 사용됩니다.
코드 페이지는 문자를 단일 바이트 또는 다중 바이트 값으로 매핑하는 문자 테이블입니다. 많은 코드 페이지는 ASCII 문자 집합에서 0x00 - 0x7F 사이의 문자를 공유합니다.
버리다
Abandon 메서드는 Session 개체에 저장된 모든 개체를 삭제하고 이러한 개체의 소스를 해제합니다. Abandon 메서드를 명시적으로 호출하지 않으면 세션 시간이 초과되면 서버는 이러한 개체를 삭제합니다.
문법
세션.Abandon
주석
Abandon 메서드가 호출되면 현재 Session 개체가 순서대로 삭제되지만, 현재 페이지의 모든 스크립트 명령이 처리될 때까지 개체는 실제로 삭제되지 않습니다. 이는 Abandon이 호출되면 Session 개체에 저장된 변수에 현재 페이지에서 액세스할 수 있지만 후속 웹 페이지에서는 액세스할 수 없음을 의미합니다.
예를 들어, 다음 스크립트에서 세 번째 줄은 Mary 값을 인쇄합니다. 이는 서버가 스크립트 처리를 완료하기 전에는 Session 개체가 삭제되지 않기 때문입니다.
<%
세션.포기
Session("MyName") = "메리"
Response.Write(세션("내 이름"))
%>
후속 웹 페이지에서 MyName 변수에 액세스하면 해당 변수가 비어 있음을 알 수 있습니다. 이는 이전 예제가 포함된 페이지의 처리가 완료되었을 때 이전 Session 개체와 함께 MyName이 삭제되었기 때문입니다.
세션이 중단되고 후속 웹 페이지가 열리면 서버는 새 세션 개체를 만듭니다. 새 세션 개체에 변수와 개체를 저장할 수 있습니다.
예제 다음 예제에서는 서버가 현재 페이지 처리를 마치면 세션 상태를 해제합니다.
<% 세션.포기 %>
LCID
LCID 속성은 동적 콘텐츠를 표시하는 데 사용되는 위치 식별자를 결정합니다.
문법
세션.LCID(=LCID)
매개변수
LCID
효과적인 사이트 식별.
논평
LCID는 특정 시스템에 의해 정의된 사이트를 고유하게 식별하는 국제 표준 약어인 사이트 식별자를 지정합니다.
세션ID
SessionID 속성은 사용자의 세션 ID를 반환합니다. 세션을 생성할 때 서버는 각 세션에 대해 별도의 ID를 생성합니다. 세션 ID는 긴 데이터 유형으로 반환됩니다.
문법
Session.SessionID
참고 SessionID 속성을 사용하여 데이터베이스 응용 프로그램의 기본 키를 생성하지 마십시오. 웹 서버를 다시 시작하면 SessionID 값 중 일부가 서버 종료 전과 동일할 수 있기 때문이다. 대신 Microsoft® SQL Server의 IDENTITY 또는 Microsoft® Access의 COUNTER와 같은 자동 증가 열 데이터 유형을 사용할 수 있습니다.
Session_OnStart
Session_OnStart 이벤트는 서버가 새 세션을 생성할 때 발생합니다. 서버는 요청된 페이지를 실행하기 전에 스크립트를 처리합니다. Session_OnStart 이벤트는 페이지에 액세스하기 전에 세션 변수가 설정되기 때문에 세션 변수를 설정하기에 가장 좋은 시기입니다. 모든 내장 개체(Application, ObjectContext, Request, Response, Server 및 Session)를 Session_OnStart 이벤트 스크립트에서 사용하고 참조할 수 있습니다.
문법
<SCRIPT LANGUAGE=ScriptLanguage RUNAT=Server> Sub Session_OnStart .End Sub 'by aspxuexi.com
</SCRIPT>
매개변수
스크립트언어
이벤트를 스크립팅하는 데 사용되는 스크립팅 언어를 지정합니다. VBScript 또는 JScript와 같이 스크립팅을 지원하는 모든 언어가 될 수 있습니다. 동일한 스크립팅 언어를 사용하는 여러 이벤트가 있는 경우 <SCRIPT> 태그 세트로 구성할 수 있습니다.
예 Session_OnStart 이벤트에 Redirect 또는 End 메서드 호출이 포함되어 있으면 Session 개체가 유지되지만 서버는 Global.asa 파일 처리를 중지하고 Session_OnStart 이벤트를 트리거한 파일에서 스크립트를 트리거합니다.
예를 들어 사용자가 특정 웹 페이지를 열 때 항상 세션을 시작하도록 하려면 Session_OnStart 이벤트에서 Redirect 메서드를 호출할 수 있습니다. 사용자가 애플리케이션에 들어가면 서버는 사용자를 위한 세션을 생성하고 Session_OnStart 이벤트 스크립트를 처리합니다. 이 이벤트에 스크립트를 포함하여 사용자가 여는 페이지가 시작 페이지인지 확인하고, 그렇지 않은 경우 사용자에게 Response.Redirect 메서드를 호출하여 페이지를 시작하도록 지시할 수 있습니다. 그 데모는 다음 예에 나와 있습니다.
<SCRIPT RUNAT=서버 언어=VBScript>
SubSession_OnStart
' 새로운 사용자가 올바른 위치에서 시작하는지 확인하세요.
' aspxuexi.com의 'ASP 응용 프로그램 페이지입니다.
' 아래 startPage에 지정된 값을 바꿉니다.
'를 애플리케이션의 가상 경로로
' 시작 페이지
.startPage = "/MyApp/StartHere.asp"
currentPage = Request.ServerVariables("SCRIPT_NAME")
' 대소문자를 구분하지 않고 비교를 수행합니다.
' 일치하지 않으면 사용자를 시작 페이지로 보냅니다.
if strcomp(currentPage,startPage,1) then Response.Redirect(startPage) end ifEnd Sub</SCRIPT>
위의 예는 쿠키를 지원하는 브라우저에서만 작동합니다. 쿠키를 지원하지 않는 브라우저는 SessionID 쿠키를 반환할 수 없기 때문에 서버는 사용자가 웹 페이지를 요청할 때마다 새 세션을 만듭니다. 이렇게 하면 모든 요청에 대해 서버가 Session_OnStart 스크립트를 처리하고 사용자를 시작 페이지로 리디렉션합니다. 아래 스크립트를 사용하는 경우 시작 페이지에 사이트에 쿠키 지원 브라우저가 필요하다는 알림을 사용자에게 표시하는 것이 좋습니다.
참고: Redirect 메소드 이후의 Session_OnStart 이벤트 스크립트는 실행되지 않습니다. 따라서 Redirect 메서드는 이벤트 스크립트 끝에서 호출되어야 합니다. 그 데모는 다음 예에 나와 있습니다.
<SCRIPT LANGUAGE=VBScript RUNAT=서버>
SubSession_OnStart
' 세션 초기화 스크립트
'by aspxuexi.com
응답.리디렉션 "http:/server/app/StartHere.asp"
하위 종료
</SCRIPT>
위의 예에서 Redirect 메소드는 세션 초기화 스크립트를 실행하는 동안 클라이언트에 표시되는 모든 텍스트를 숨깁니다.
Session_OnEnd
Session_OnEnd 이벤트는 세션이 중단되거나 시간 초과될 때 발생합니다. 서버 내장 객체 중 Application, Server, Session 객체만 사용 가능합니다.
문법
<SCRIPT LANGUAGE=ScriptLanguage RUNAT=Server> Sub Session_OnEnd </SCRIPT>
매개
변수
스크립트언어
이벤트를 스크립팅하는 데 사용되는 스크립팅 언어를 지정합니다. VBScript 또는 JScript와 같이 스크립팅을 지원하는 모든 언어가 될 수 있습니다. 동일한 스크립팅 언어를 사용하는 여러 이벤트가 있는 경우 <SCRIPT> 태그 세트로 구성할 수 있습니다.
참고: Session_OnEnd 스크립트에서는 MapPath 메서드를 호출할 수 없습니다.
시간 초과
Timeout 속성은 응용 프로그램의 Session 개체에 대한 시간 초과 기간을 분 단위로 지정합니다. 사용자가 이 시간 초과 내에 페이지를 새로 고치거나 요청하지 않으면 세션이 종료됩니다.
문법
Session.Timeout[=nMinutes]
매개변수
n분
서버가 자동으로 세션을 종료하기 위해 세션이 유휴 상태가 되는 시간(분)을 지정합니다. 기본값은 15분입니다.