7.2. Maintaining Information About a User Throughout a Session
Problem
You want to make personalized information available to the users of your application for as long as each remains active without accessing a database each time the information is needed and regardless of the number of pages traversed.
Solution
Create a class in which to store the personalized data, instantiate the class and load the data, store the data object in the Session
object, and access the data from the Session
object as required.
In the code-behind class for your ASP.NET pages that need access to the data, use the .NET language of your choice to:
Check to see if the object used to store the personalized data exists in the
Session
object.If the object exists, retrieve the object from
Session
. If the object does not exist, instantiate the class used for the personalized data and store it in theSession
object.Use the data as required in your application.
A simple example that illustrates this solution is shown in Examples 7-8, 7-9, 7-10, 7-11 through 7-12. The example uses the class shown in Examples 7-8 (CH07PersonalDataVB
for VB) and 7-9 (CH07PersonalDataCS
for C#) to provide a container for some simple personalized data. This class contains properties for each of the data items and a default constructor.
Figure 7-2 shows a form that we’ve created for viewing the current contents of the personalized data stored in the Session
object and for entering new session state data values. Example 7-10 shows the .aspx ...
Get ASP.NET 2.0 Cookbook, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.