D. L. Fox wrote:
Can $Session->Abandon be called from an include file, even if
$Response->TrapInclude is used?  Does the user have to navigate (or be
redirected) to another page for it to "take effect"?

Although I have been using Apache-ASP for some time, I am new to using the
Session object.  I started playing with it at home on my win98SE machine.
I'm using Apache 1.3.27, Perl 5.6.1 built for MSWin32-x86-multi-thread
(ActiveState), mod_perl is listed as 1.28 on the perl.apache.org site,
although it shows 1.27_01-dev when viewing the output of %ENV.

...
>
> I did a "workaround", although I don't know if it's a Good Thing to do, or
> the Right Thing to do.
>
> foreach my $skey(keys(%{$Session})) {
>     $Session->{$skey} = undef;
> }
>

What *should* happen with $Session->Abandon is that it is set for
cleanup immediately, which occurs after the current request is processed.
What this means though is that data in $Session is not cleaned up when
$Session->Abandon is called, but this is a good thing because the
Session_OnEnd event has not been called yet, and it needs to have a
chance to work on the $Session data.

After $Session->Abandon gets called, the next web request, the user
will get a new session because the current session-id is invalid.

So if you really want to get rid of the $Session data immediately, what
you are doing is fine, but an even easier way would be to just:

%$Session = ();

Regards,

Josh
________________________________________________________________
Josh Chamas, Founder                   phone:925-552-0128
Chamas Enterprises Inc.                http://www.chamas.com
NodeWorks Link Checker                 http://www.nodeworks.com


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to