The Abandon method destroys all the objects stored in a Session object and releases their resources. If you do not call the Abandon method explicitly, the server destroys these objects when the session times out.
Session.Abandon
When the Abandon method is called, the current Session object is queued for deletion, but is not actually deleted until all of the script commands on the current page have been processed. This means that you can access variables stored in the Session object on the same page as the call to Abandon, but not in any subsequent Web pages.
For example, in the following script, the third line prints the value Mary. This is because the Session object is not destroyed until the server has finished processing the script.
<% Session.Abandon Session("MyName") = "Mary" Reponse.Write(Session("MyName")) %>
If you access the variable MyName on a subsequent Web page, it is empty. This is because MyName was destroyed with previous Session object when the page containing the above example finished processing.
The server creates a new Session object when you open a subsequent Web page after abandoning a session. You can store variables and objects in this new Session object.
The following example causes the session state to be released when the server finishes processing the current page.
<% Session.Abandon %>