ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [ASP] ASP 세션(Session)
    Web/ASP 2015. 10. 16. 11:00

    ASP Session Object

     세션 객체(Session Object)는 정보와 관련된 것 또는 사용자 세션을 위한 변경된 설정을 저장합니다.





     The Session Object

      어플리케이션에서 작업을 할때, 열고, 어떠한 점을 변경하고 닫습니다. 이러한 것을 세션이라고 합니다.


      컴퓨터는 당신이 누군지 알고 있습니다. 컴퓨터는 어플리케이션을 열때와 닫을 때를 알고 있습니다.


      그러나, 인터넷 상에서는 한 가지 문제점이 있습니다: 웹 서버는 당신이 누구고 어떤 작업을 할지 모릅니다, HTTP 주소는 상태를 유지하지 못하기 때문입니다.


      ASP는 각 유저를 위한 식별가능한 쿠키를 생성함으로서 이 문제를 해결합니다. 


      쿠키는 사용자 컴퓨터로 전송되어지고 쿠키는 사용자 식별이 가능한 정보를 포함하고 있습니다.


      이 인터페이스를 세션 객체라 부릅니다.


      세션 객체안에 저장된 변수는 단일 사용자의 정보를 지니고 있고, 하나의 어플리케이션의 모든 페이지에서 사용가능합니다.


      세션 변수에 저장된 일반적인 정보는 이름, 아이디, 참조입니다. 서버는 각 새로운 사용자를 위한 새로운 세션 객체를 생성하고 세션이 만료되었을 때 세션 객체를 소멸시킵니다.






     When does a Session Start?

      - 새로운 사용자가 ASP 파일을 요청하고, Global.asa 파일은 Session_OnStart 프로시저를 포함할 때

      - 값이 세션 변수에 저장될 때

     




     When does a Session End?

      세션은 사용자가 요청을 하지 않거나 특정 기간동안 어플리케이션의 페이지를 새로고침 하지 않을 때 종료됩니다.

      

      기본적으로 20분입니다.


      타임아웃 간격을 짧게 혹은 길게하고 싶다면, Timeout 속성을 사용하면 됩니다.


      아래 예제는 타임아웃 간격을 5분으로 조정한 경우입니다.


    1
    2
    3
    <%
    Session.Timeout=5
    %>
    cs







      Abadon 메소드를 사용해서 세션을 즉시 종료할 수 있습니다:



    1
    2
    3
    <%
    Session.Abandon
    %>
    cs



     





     

    Store and Retrieve Session Variables

     세센 객체에 대한 대부분의 중요한 점은 세션 객체에 변수를 저장할 수 있다는 것입니다.


     아래 예제는 username과 age 세션 변수에 값을 설정하는 예제입니다:



    1
    2
    3
    4
    <%
    Session("username")="Donald Duck"
    Session("age")=50
    %>
    cs





      세션 변수에 저장된 값은 ASP 어플리케이션의 어느 페이지에서든 접근 가능합니다:



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





      위 라인은 리턴합니다: "Welcome Donald Duck"









     



    Remove Session Variables

     컨텐츠 집합(Contents collection)은 모든 세션 변수를 포함합니다.


     Remove 메소드를 통해 세션 변수를 제거가능 합니다.


     아래 예제는 세션 변수 "age"가 18보다 낮다면 sale 세션 변수를 제거하는 예제입니다:




    1
    2
    3
    4
    5
    <%
    If Session.Contents("age")<18 then
      Session.Contents.Remove("sale")
    End If
    %>
    cs





      세션안의 모든 변수를 제거하려면, RemoveAll 메소드를 사용하면 됩니다:


    1
    2
    3
    4
    <%
    Session.Contents.RemoveAll()
    %>
     
    cs







    Loop Through the Contents Collection

     컨텐츠 집합은 모든 세션 변수를 포함하고 있습니다. 컨텐츠 집합을 루프 돌수 있습니다:




    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <%
    Session("username")="Donald Duck"
    Session("age")=50
     
    dim i
    For Each i in Session.Contents
      Response.Write(i & "<br>")
    Next
    %>
    cs





     결과:


      username

      age





      컨텐츠 집합의 갯수를 알고 싶다면 Count 속성을 사용합니다:




    1
    2
    3
    4
    5
    6
    7
    8
    9
    <%
    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
    %>
    cs

     







      결과:


      Session variables: 2

      Donald Duck

      50





    Loop Through the StaticObjects Collection

     StaticObjects 집합을 루프돌수 있습니다:


    1
    2
    3
    4
    5
    6
    <%
    dim i
    For Each i in Session.StaticObjects
      Response.Write(i & "<br>")
    Next
    %>
    cs






    * 위 포스트는 w3schools 강좌를 통해 작성한 포스팅입니다.



    'Web > ASP' 카테고리의 다른 글

    [ASP] ASP 쿠키(Cookie)  (0) 2015.10.02
    [ASP] ASP Form  (0) 2015.10.02
    [ASP] ASP 프로시저  (0) 2015.09.30
    [ASP] ASP 변수  (0) 2015.09.30
    [ASP] ASP 문법  (0) 2015.09.30
    [ASP] ASP 소개  (0) 2015.09.29

    댓글

Designed by Tistory.