집 >백엔드 개발 >C#.Net 튜토리얼 >ASP 세션에 대한 자세한 소개
세션 개체는 사용자 정보를 저장하는 데 사용됩니다. 세션 객체에 저장된 변수는 단일 사용자에 대한 정보를 보유하며 애플리케이션의 모든 페이지에서 사용할 수 있습니다.
세션 개체
애플리케이션 작업을 할 때 애플리케이션을 열고 변경한 다음 닫습니다. 그것은 대화와 매우 흡사합니다. 컴퓨터는 당신이 누구인지 알고 있습니다. 언제 앱을 열고 닫는지 알 수 있습니다. 하지만 인터넷에는 문제가 있습니다. HTTP 주소는 상태를 유지할 수 없기 때문에 웹 서버는 사용자가 누구인지, 무엇을 하는지 알 수 없습니다.
ASP는 각 사용자에 대해 고유한 쿠키를 생성하여 이 문제를 해결합니다. 쿠키는 클라이언트로 전송되며 사용자를 식별하는 정보를 포함합니다. 이 인터페이스를 세션 개체라고 합니다.
세션 개체는 사용자에 대한 정보를 저장하거나 사용자 세션의 설정을 변경하는 데 사용됩니다. 세션 객체에 저장된 변수는 단일 사용자에 대한 정보를 보유하며 애플리케이션의 모든 페이지에서 사용할 수 있습니다. 세션 객체에 저장되는 정보는 일반적으로 이름, ID, 매개변수입니다. 서버는 각각의 새로운 사용자에 대해 새 세션을 생성하고 세션이 만료되면 세션 개체를 취소합니다.
세션은 언제 시작하나요?
세션 시작 위치:
*새 사용자가 ASP 파일을 요청하고 Global.asa 파일 이 Session_OnStart 서브루틴을 참조하는 경우
*세션 변수에 값이 저장되는 경우
*사용자가 ASP 파일을 요청하고 Global.asa가 세션 범위를 통해 이를 인스턴스화하는 경우; 🎜>
세션은 언제 종료되나요?
지정된 시간 내에 사용자가 애플리케이션에서 페이지를 요청하거나 새로 고치지 않으면 세션이 종료됩니다. 기본값은 20분입니다. 타임아웃 간격을 더 길거나 짧게 설정하려면 타임아웃 다음 예에서는 시간 초과 간격을 5분으로 설정합니다.<% Session.Timeout=5 %>세션을 즉시 종료하려면 Abandon 메서드를 사용합니다.
<% Session.Abandon %>
참고: 세션을 사용할 때 가장 큰 문제는 언제 종료되어야 하는지입니다. 사용자의 가장 최근 요청이 마지막 요청인지는 알 수 없습니다. 그래서 우리는 세션을 얼마나 오랫동안 "라이브"해야 할지 모릅니다. 유휴 세션을 너무 오래 기다리면 서버 리소스가 고갈될 수 있습니다. 그러나 세션이 조기에 삭제되면 서버가 모든 정보를 삭제했기 때문에 사용자는 계속해서 다시 시작해야 합니다. 적절한 시간 초과 간격을 찾는 것이 어려울 수 있습니다.
팁: 세션 변수를 사용하는 경우 많은 양의 데이터를 저장하지 마세요.
세션 변수 저장 및 검색
Session 개체의 가장 큰 장점은 이후의 웹 페이지 읽기를 위해 변수를 저장할 수 있다는 점이며 적용 범위가 매우 넓습니다. 넓은. 다음 예에서는 username이라는 세션 변수에 "Donald Duck"을 할당하고 age라는 세션 변수에 "50"을 할당합니다.<% Session("username")="Donald Duck" Session("age")=50 %>값이 세션에 저장되면 변수에 따라 ASP 애플리케이션의 모든 페이지에서 사용할 수 있습니다. Welcome 9191e841d6c4ef7e6a651b7bd17ba29e
<%If Session("screenres")="low" Then%> This is the text version of the page <%Else%> This is the multimedia version of the page <%End If%>
移除 session 变量
contents 集合包含所有的 session 变量。
可通过 remove 方法来移除 session 变量。
在下面的例子中,假如 session 变量 "age" 的值小于 18,则移除 session 变量 "sale":
<% If Session.Contents("age")<18 then Session.Contents.Remove("sale")End If %>
如需移除 session 中的所有变量,请使用 RemoveAll 方法:
<% Session.Contents.RemoveAll() %>
遍历 contents 集合
contents 集合包含所有的 session 变量。可通过遍历 contents 集合,来查看其中存储的变量:
<% Session("username")="Donald Duck" Session("age")=50 dim i For Each i in Session.Contents Response.Write(i & "<br />") Next %>
结果:
username age
如果需要了解 contents 集合中的项目数量,可使用 count 属性:
<% dim i dim j j=Session.Contents.CountResponse.Write("Session variables: " & j) For i=1 to j Response.Write(Session.Contents(i) & "<br />") Next %>
结果:
Session variables: 2 Donald Duck 50
遍历 StaticObjects 集合
可通过循环 StaticObjects 集合,来查看存储在 session 对象中所有对象的值:
<% dim i For Each i in Session.StaticObjects Response.Write(i & "<br />") Next %>
【相关推荐】
1. ASP免费视频教程
위 내용은 ASP 세션에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!