Download presentation
Presentation is loading. Please wait.
Published byTodd Powers Modified over 9 years ago
1
Session 10: Managing State
2
Overview State Management Types of State Management Server-Side State Management Client-Side State Management The Global.asax File Application and Session Variables Initializing and Using Application and Session Variables Application and Session Variable Duration Cookies and Cookieless Sessions
3
What is State Management? First Name Last Name Please enter your logon information: John Submit Chen Web Server Login.aspx Web Server Hello John Chen Greetings.aspx Please enter your logon information: John Submit Chen Hello Greetings.aspx I forget who you are!! First Name Last Name Without State Management With State Management
4
Types of State Management Server-Side State Management Client-Side State Management Management Application state Information is available to all users of a Web application Cookies Text file stores information to maintain state Session state Information is available only to a user of a specific session The ViewState property Retains values between multiple requests for the same page Database In some cases, use database support to maintain state on your Web site Query strings Information appended to the end of a URL
5
Server-Side State Management Application state is a global storage mechanism accessible from all pages in the Web application Session state is limited to the current browser session Values are preserved through the use of application and session variables Scalability ASP.NET session is identified by the SessionID string Web Server Client Computer Application and Session variables SessionID
6
Client-Side State Management Uses cookies to maintain state Persistent cookies Temporary/ Non-persistent cookies Less reliable than server-side state management options User can delete cookies Less secure than server-side state management options Limited amount of information Client-side restrictions on file sizes Web Server Client Computer Cookies
7
The Global.asax File Only one Global.asax file per Web application Stored in the virtual root of the Web application Used to handle application and session events The Global.asax file is optional
8
The Global.asax File ( continued ) ASP.NET Web Server Client ASP.NET HTTP Runtime IIS Application_BeginRequest Application_AuthenticateRequest Application_AuthorizeRequest Application_ResolveRequestCache Application_AquireRequestState Application_PreRequestHandlerExecute Application_EndRequest Application_UpdateRequestCache Application_ReleaseRequestState Application_PostRequestHandlerExecute Page execution Request Response
9
Initializing Application and Session Variables Variables are initialized in Global.asax The Application object shares information among all users of a Web application The Session object stores information for a particular user session Sub Application_Start(s As Object,e As EventArgs) Application("NumberofVisitors") = 0 End Sub Sub Application_Start(s As Object,e As EventArgs) Application("NumberofVisitors") = 0 End Sub
10
Using Application and Session Variables Set session and application variables Read session and application variables Session("BackColor") = "blue" Application.Lock() Application("NumberOfVisitors") += 1 Application.UnLock() Session("BackColor") = "blue" Application.Lock() Application("NumberOfVisitors") += 1 Application.UnLock() strBgColor = Session("BackColor") lblNbVisitor.Text = Application("NumberOfVisitors") strBgColor = Session("BackColor") lblNbVisitor.Text = Application("NumberOfVisitors")
11
Application and Session Variable Duration Session variables have a set duration after last access Default is 20 minutes Session duration can be changed in Web.config: Application variables persist until the Application_End event is fired
12
Creating and Reading Session Cookies You can create and read session cookies by using the Cookies Property of the Response Object and Request Class. Creating a Cookie Reading a Cookie Dim objCookie As New HttpCookie(“myCookie”, “Hello!”) Response.Cookies.Add(objCookie) Dim objCookie As New HttpCookie(“myCookie”, “Hello!”) Response.Cookies.Add(objCookie) Response.Write(Request.Cookies(“myCookie”).Value)
13
Creating and Reading Persistent Cookies A persistent cookie is similar to a session cookie except that a persistent cookie has a defined expiration date The code below can be used to create a persistent cookie Persistent cookies can be read in the same way as you would a session cookie Dim objCookie As New HttpCookie(“myCookie”, “Hello”) objCookie.Expires = #12/25/2007# Response.Cookies.Add(objCookie) Dim objCookie As New HttpCookie(“myCookie”, “Hello”) objCookie.Expires = #12/25/2007# Response.Cookies.Add(objCookie) To create a persistent cookie, specify the expiration time Response.Write(Request.Cookies(“myCookie”).Value)
14
Retrieving Information from a Cookie Read the cookie Retrieve values from the cookie lblTime.Text = objCookie.Values("Time") lblTime.ForeColor = System.Drawing.Color.FromName _ (objCookie.Values("ForeColor")) lblTime.BackColor = System.Drawing.Color.FromName _ (objCookie.Values("BackColor")) lblTime.Text = objCookie.Values("Time") lblTime.ForeColor = System.Drawing.Color.FromName _ (objCookie.Values("ForeColor")) lblTime.BackColor = System.Drawing.Color.FromName _ (objCookie.Values("BackColor")) Dim objCookie As HttpCookie = Request.Cookies("myCookie")
15
Using Cookieless Sessions Each active session is identified and tracked using session IDs Session IDs are communicated across client-server requests using an HTTP cookie or included in the URL Cookieless sessions Session ID information is encoded into URLs Cannot use absolute URLs Most browsers limit the URL size to 255 characters, which limits use of cookieless Session IDs http://server/(h44a1e55c0breu552yrecobl)/page.aspx
16
Setting Up Cookieless Sessions Session state is configured in the section of Web.config Set cookieless = true
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.