Home > Backend Development > C#.Net Tutorial > Detailed introduction to session in ASP

Detailed introduction to session in ASP

Y2J
Release: 2017-05-18 11:42:21
Original
2097 people have browsed it

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 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 Timeout

property.

The following example sets a timeout interval of 5 minutes:

<%
Session.Timeout=5
%>
Copy after login

To end the session immediately, use the Abandon method:

<%
Session.Abandon
%>
Copy after login

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
%>
Copy after login

Once the value is stored in the session variable, it can be used by any page in the ASP application:

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


The above The result returned by the program is: "Welcome Donald Duck".

You can also save user parameters in the session object, and then decide what page to return to the user by accessing these parameters.

The following example specifies that if the user uses a low monitor resolution, a text-only version of the page is returned:

<%If Session("screenres")="low" Then%> 
  This is the text version of the page
<%Else%> 
  This is the multimedia version of the page
<%End If%>
Copy after login

移除 session 变量

contents 集合包含所有的 session 变量。

可通过 remove 方法来移除 session 变量。

在下面的例子中,假如 session 变量 "age" 的值小于 18,则移除 session 变量 "sale":

<%
If Session.Contents("age")<18 then   Session.Contents.Remove("sale")End If 
%>
Copy after login

如需移除 session 中的所有变量,请使用 RemoveAll 方法:

<%
Session.Contents.RemoveAll()
%>
Copy after login

遍历 contents 集合

contents 集合包含所有的 session 变量。可通过遍历 contents 集合,来查看其中存储的变量:

<%
Session("username")="Donald Duck"
Session("age")=50
dim i
For Each i in Session.Contents
  Response.Write(i & "<br />")
Next
%>
Copy after login

结果:

username
age
Copy after login

如果需要了解 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
%>
Copy after login

结果:

Session variables: 2
Donald Duck
50
Copy after login

遍历 StaticObjects 集合

可通过循环 StaticObjects 集合,来查看存储在 session 对象中所有对象的值:

<%
dim i
For Each i in Session.StaticObjects
  Response.Write(i & "<br />")
Next
%>
Copy after login

【相关推荐】

1.  ASP免费视频教程

2. 教你解决ASP session丢失的方法

3. 介绍ASP中Session对象的三种方法

4. 详解ASP中Session的使用技巧

5. ASP session简单示例

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!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template