ASP built-in objects Application details (2)

Source: Internet
Author: User
Tags array contains variables sessions terminates client
application| Objects | Built-in objects

This is because the Application object is implemented as a collection. The array element StoredArray (3) did not get a new assignment. This value will be included in the Application object collection and will overwrite any information previously stored in this location. It is recommended that you get a copy of an array before retrieving or altering an object in an array when you store the array in a Application object. In an array operation, you should store all of the arrays in the Application object, so that any changes you make will be stored. This is demonstrated by the following script.

---asp8a.asp---

<%
Dim myarray ()
Redim MyArray (5)
MyArray (0) = "Hello"
MyArray (1) = "Some other string"
Application.Lock
Application ("StoredArray") =myarray
Application.UnLock
Response.Redirect "Asp8b.asp"
%>

---asp8b.asp---

<%
Localarray=application ("StoredArray")
LocalArray (1) = "There"
Response.Write LocalArray (0) &localarray (1)
Application.Lock
Application ("StoredArray") =localarray
Application.UnLock
%>

Another very useful ASP-built object that has a similar effect to the Application object is the session. We can use the session object to store the information that is required for a particular user conversation. When a user jumps between pages of an application, the variables stored in the Session object are not purged, and the variables always exist when the user accesses the page in the application. When a user requests a Web page from an application, the Web server automatically creates a Session object if the user does not have a conversation. When a session expires or is discarded, the server terminates the session.

You can manage the session object on the server by sending a unique Cookie to the client program. When a user requests a page in an ASP application for the first time, the ASP checks the HTTP header information to see if a Cookie named ASPSessionID in the message is sent, and if so, the server starts a new session and generates a globally unique value for the session. This value is sent to the client as the value of the new ASPSessionID cookie, which is used to access information that is stored on the server that is part of the client program. The most common function of the session object is to store user preferences. For example, if a user indicates that they don't like to view a graphic, they can store that information in the session object. In addition, it is often used in the process of identifying customer identities. Note that session state is reserved only in browsers that support cookies, and sessions will not work if the customer turns off the cookie option.

One, property

1, SessionID

The SessionID property returns the user's session identity. When you create a session, the server generates a separate identity for each session. The session identity is returned with a long shaping data type. In many cases SessionID can be used for WEB page registration statistics.

2, TimeOut

The Timeout property specifies the time-out period for the session object of the application in minutes. If the user does not refresh or request a Web page within the time-out period, the session terminates.

Second, the method

The session object has only one method, that is, the Abandon,abandon method deletes all objects stored in the session object and releases the source of those objects. If you do not explicitly call the Abandon method, the server deletes these objects once the session times out. The following example releases session state when the server finishes processing the current page.

<% Session.Abandon%>

III. Events

The session object has two events that can be used to start and release the session object when it is running.

1, the Session_OnStart event occurs when a new session is created by the server. The server processes the requested page before it is executed. The Session_OnStart event is the best time to set session variables, because they are set before any pages are accessed.

Although the session object persists when the Session_OnStart event contains a Redirect or End method call, the server stops processing the Global.asa file and triggers the script in the file of the Session_OnStart event.

To ensure that a user always starts a session when a particular Web page is opened, the Redirect method can be invoked in the Session_OnStart event. When the user enters the application, the server creates a session for the user and processes the Session_OnStart event script. You can include the script in this event to check that the user opens a page that is not a startup page, and if not, instruct the user to invoke the Response.Redirect method to start the Web page. The procedure is as follows:

< SCRIPT Runat=server language=vbscript>
Sub Session_OnStart
StartPage = "/myapp/starthere.asp"
CurrentPage = Request.ServerVariables ("Script_name")
If StrComp (currentpage,startpage,1) Then
Response.Redirect (StartPage)
End If
End Sub
</script>

The above programs can only run in browsers that support cookies. Because browsers that do not support cookies cannot return the SessionID cookie, the server creates a new session whenever the user requests a Web page. In this way, the Session_OnStart script is processed for each request server and the user is redirected to the startup page.

2. The Session_OnEnd event was discarded or timed out during the session.

Things to note about using Session Objects application objects are similar, please refer to the preceding text.

Sessions can be started in the following three ways:

1. A new user requests access to a URL that identifies an. asp file in an application, and the application's Global.asa file contains the Session_OnStart process.

2, the user stores a value in the Session object.

3. The user requests an application's. asp file, and the application's Global.asa file uses the < object> tag to create an instance of the object with the session scope.

If a user does not request or refresh any page in the application within a specified time, the session ends automatically. The default value for this period is 20 minutes. You can change the default time-out limit settings for an application by setting the session Timeout property in the Application Options property page in Internet Services Manager. This value should be set based on the requirements of your WEB application and the memory space of the server. For example, if you want users browsing your WEB application to stay only a few minutes per page, you should shorten the default timeout for the session. An overly long session timeout value will cause an open session to run out of memory resources for your server. For a specific session, if you want to set a time-out value that is less than the default time-out, you can set the Timeout property of the Sessions object. For example, the following script sets the timeout value to 5 minutes.

<% Session.Timeout = 5%>

Of course, you can also set a time-out value that is greater than the default setting, and the Session.Timeout property determines the timeout. You can also explicitly end a session by using the Abandon method of the Sessions object. For example, an Exit button is provided in the table, and the ACTION parameter of the button is set to the URL of the. asp file that contains the following commands.

<% Session.Abandon%>







Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.