Session_OnStart

Session_OnStart 이벤트는 서버가 새 세션을 만들 때 발생합니다. 서버는 요청된 페이지를 실행하기 전에 이 스크립트를 처리합니다. Session_OnStart 이벤트에 세션 차원 변수를 설정하면 페이지에 액세스하기 전에 이 변수들이 설정되므로 Session_OnStart 이벤트에 세션 차원 변수들을 설정하십시오. 모든 기본 제공 개체(Application, ObjectContext, Request, Response, Server, Session)를 사용할 수 있으며 Session_OnStart 이벤트 스크립트에서 참조할 수 있습니다.

구문

<SCRIPT LANGUAGE=ScriptLanguage RUNAT=Server>
Sub Session_OnStart
.. .
End Sub

</SCRIPT>

매개 변수

ScriptLanguage
이벤트 스크립트를 작성하는 데 사용할 스크립트 언어를 지정합니다. VBScript나 JScript 같은 지원되는 스크립트 언어를 지정할 수 있습니다. 두 개 이상의 이벤트가 동일한 스크립트 언어를 사용하면 하나의 <SCRIPT> 태그로 묶을 수 있습니다.

예제

Session_OnStart 이벤트가 Redirect 메서드나 End 메서드에 대한 호출을 포함하고 있으면 Session 개체는 지속되어도 서버는 Global.asa 파일에 들어 있는 스크립트와 Session_OnStart 이벤트를 트리거한 파일에 있는 스크립트의 처리를 중지합니다.

예를 들어 Session_OnStart 이벤트에 들어 있는 Redirect 메서드를 호출하여 사용자들이 항상 특정 웹 페이지의 세션을 시작하도록 할 수 있습니다. 사용자가 응용 프로그램을 실행하면 서버는 그 사용자용 세션을 만들고 Session_OnStart 이벤트 스크립트를 처리합니다. 이 이벤트에 스크립트를 포함시켜 사용자가 연 페이지가 시작 페이지인지 여부를 확인하고 시작 페이지가 아니면 Response.Redirect 메서드를 호출하여 사용자를 시작 페이지로 보낼 수 있습니다. 다음 예제를 참조하십시오.

<SCRIPT RUNAT=Server LANGUAGE=VBScript>
Sub Session_OnStart
  'Make sure that new users start on the correct
  'page of the ASP application.

  'Replace the value given to startPage below
  'with the virtual path to your application's
  'start page.

  startPage = "/MyApp/StartHere.asp"
  currentPage = Request.ServerVariables("SCRIPT_NAME")

  'Do a case-insensitive compare, and if they
  'don't match, send the user to the start page.

  If strcomp(currentPage,startPage,1) then
    Response.Redirect(startPage)
  End If
End Sub
</SCRIPT>

앞의 예제는 쿠키를 지원하는 브라우저에서만 실행됩니다. 쿠키를 지원하지 않는 브라우저는 SessionID 쿠키를 반환하지 않기 때문에 서버는 사용자가 페이지를 요청할 때마다 새 세션을 만듭니다. 따라서 서버는 각 요청에 대해 Session_OnStart 스크립트를 처리하고 사용자를 시작 페이지로 보냅니다. 아래 스크립트를 사용하는 경우, 사이트에서 쿠키를 지원하는 브라우저를 필요로 한다는 알림 메시지를 시작 페이지에 표시하는 것이 좋습니다.

주의

Redirect 메서드 호출 뒤에 오는 Session_OnStart 이벤트 스크립트는 실행되지 않는다는 점에 주의하십시오. 따라서 이벤트 스크립트에서는 Redirect 메서드를 마지막에 호출해야 합니다. 다음 예제를 참조하십시오.

<SCRIPT LANGUAGE=VBScript RUNAT=Server> 
 Sub Session_OnStart
  'Session initialization script.  
  Response.Redirect "http:/server/app/StartHere.asp"
 End sub
</SCRIPT>

앞의 예제에서 Redirect 메서드는 세션 초기화 스크립트 동안 클라이언트에 표시될 텍스트를 숨깁니다.

관련 항목

Session_OnEnd, Application_OnStart


© 1997-2001 Microsoft Corporation. All rights reserved.