perl-asp mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Josh Chamas <>
Subject Re: Question regarding $Session->Abandon
Date Sun, 23 Feb 2003 22:42:33 GMT
Richard Curtis wrote:
> I am having some problems with $Session->Abandon().
> I have the following code on a logout page :
>     use Data::Dumper;
>     warnd("b4",Dumper $Session);
>     $Session->Abandon();
>     warnd("after",Dumper $Session);
>     $Response->Redirect("/login/login.asp");
> Each time I print the contents of $Session, even after I have abandoned 
> it, I get shown the same contents.
> "warnd" is a logging function I use which just dumps to a file.
> Why, even after I have abandoned a session, is there still data in the 
> session object ?

$Session->Abandon makes a session timeout immediately.  However,
the session data will exist until the session manager cleans up
that session, and calls Session_OnEnd on it.  The effect of $Session->Abandon
timing out a session immediately is that a web browser will get a new
session on the *next* web request.

A more accurate way to do this might be to call Session_OnEnd immediately,
but the problem remains then what state the $Session object is in
after $Session->Abandon.  If Session_OnEnd is called, it will be deleted.
Perhaps one might want a new session created immediately after $Session->Abandon,
but the HTTP headers might have already been sent by this time, so the
browser would not be aware of it, so that does not seem like a good way to go.

If you think the existing strategy needs improvement, please discuss
your ideas on this.



Josh Chamas, Founder                   phone:925-552-0128
Chamas Enterprises Inc.      
NodeWorks Link Checking      

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message