When you think ASP, think...
Recent Articles
All Articles
ASP.NET Articles
ASPFAQs.com
Message Board
Related Web Technologies
User Tips!
Coding Tips

Sections:
Sample Chapters
Commonly Asked Message Board Questions
JavaScript Tutorials
MSDN Communities Hub
Official Docs
Security
Stump the SQL Guru!
XML Info
Information:
Feedback
Author an Article
ASP ASP.NET ASP FAQs Message Board Feedback
Print this page.
Published: Sunday, October 29, 2000

Removing Session and Application Variables


Recently on the ASPMessageboard, a user asked how to "kill" session variables. The post read:

- continued -

Hey all, I was just wondering if it's possible to just kill one session variable at a time. I don't want to have to abandon the whole session, just kill off a few session variables that were used.

Thanks
Steve

Bill Wilkinson replied to Steve's post, informing him of two ways to do this. With ASP 2.0, your only option was to do:

Session("name") = Null

However, there is an inherent problem with this. The Session object is a collection, like the Scripting.Dictionary object. So, each Session variable is represented by a key/item pair, where the key is the name of the Session variable and the item is the actual Session variable. So, doing:

Session("name") = Null

obliterates the item part of the Session variable, but the key still exists in the Session collection! Shoot! This means that some memory is still used even after we set the Session variable to Null.

ASP 3.0, the version of ASP that ships with Windows 2000, offers programmatic access to the Session and Application object's collection of key/item pairs. This collection can be accessed via the Contents collection. We've all accessed Session variables like so:

Response.Write Session("name")

However, you can also access a Session variable through the Contents collection like so:

Response.Write Session.Contents("name")

With ASP 3.0, the Contents collection added two new methods: Remove and RemoveAll. These two functions can be used, respectively, to completely remove a particular Session variable or completely remove all Session variables. So, the best way to remove a Session variable is to use the following code:

Session.Contents.Remove Name

You can also remove various Application variables using the same code. In fact, you can utilize this Contents collection to programmatically list all of the Session (or Application) variables. (See Listing Session and Application Variables for more information!)

Happy Programming!


  • Read Bill Wilkinson's post
  • Read the technical docs for the Remove method
  • Read the technical docs for the RemoveAll method
  • Read Listing Session and Application Variables
  • Visit the ASPMessageboard.com


  • ASP.NET [1.x] [2.0] | ASPMessageboard.com | ASPFAQs.com | Advertise | Feedback | Author an Article