Home >Backend Development >C#.Net Tutorial >Detailed introduction to session in ASP
Session object is used to store user information. Variables stored in the session object hold information about a single user and are available to all pages in an application.
Session Object
When you work with an application, you open it, make changes, and then close it. It's a lot like a conversation. The computer knows who you are. It knows when you open and close apps. But there's a problem on the Internet: Since HTTP addresses cannot persist state, the web server doesn't know who you are or what you do.
ASP solves this problem by creating a unique cookie for each user. The cookie is transferred to the client and contains information that identifies the user. This interface is called a Session object.
Session objects are used to store information about the user, or to change settings for a user's session. Variables stored in the session object hold information about a single user and are available to all pages in the application. The information stored in the session object is usually name, id, and parameters. The server creates a new Session for each new user and revokes the Session object when the session expires.
When does the Session start?
Session starts at:
*When a new user requests an ASP file, and the Global.asa file references the Session_OnStart subroutine;
*When a value is stored in a Session variable; *When a user requests an ASP file, and Global.asa uses the 273238ce9338fbb04bee6997e5552b95 tag to instantiate it through the session scope When a certain object;When does the Session end?
If the user does not request or refresh the page in the application within the specified time, the session will end. The default value is 20 minutes. If you want to set the timeout interval longer or shorter, you can set the Timeoutproperty.
The following example sets a timeout interval of 5 minutes:<% Session.Timeout=5 %>To end the session immediately, use the Abandon method:
<% Session.Abandon %>
Note: The main issue when using sessions is when they should end. We won't know if the user's most recent request was the last request. So we don't know how long we should let the session "live". Waiting too long for an idle session can exhaust server resources. However, if the session is deleted prematurely, the user will have to start over again over and over again because the server has deleted all the information. Finding the right timeout interval can be difficult.
Tip: If you are using session variables, do not store large amounts of data in them.
Storing and retrieving session variables
The biggest advantage of the Session object is that variables can be stored in it for subsequent web page reading, and its application range is very wide of. The following example assigns "Donald Duck" to the session variable named username, and assigns "50" to the session variable named age:<% Session("username")="Donald Duck" Session("age")=50 %>Once the value is stored in the session variable, it can be used by any page in the ASP application: 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免费视频教程
The above is the detailed content of Detailed introduction to session in ASP. For more information, please follow other related articles on the PHP Chinese website!