CatalystX-ASP

 view release on metacpan or  search on metacpan

lib/CatalystX/ASP/GlobalASA.pm  view on Meta::CPAN

    $Application->{$Session->SessionID()} = started;
  }

Sessions are easy to understand. When visiting a page in a web application, each
user has one unique C<$Session>. This session expires, after which the user will
have a new C<$Session> upon revisiting.

A web application starts when the user visits a page in that application, and
has a new C<$Session> created. Right before the first C<$Session> is created,
the C<$Application> is created. When the last user C<$Session> expires, that
C<$Application> expires also. For some web applications that are always busy,
the C<Application_OnEnd> event may never occur.

=cut

has 'filename' => (
    is      => 'ro',
    isa     => Path,
    default => sub { shift->asp->Global->child( 'global.asa' ) },
);

lib/CatalystX/ASP/GlobalASA.pm  view on Meta::CPAN

=item Session_OnEnd

Triggered by a user session ending, C<Session_OnEnd> can be useful for cleaning
up and analyzing user data accumulated during a session.

Sessions end when the session timeout expires, and the C<StateManager> performs
session cleanup. The timing of the C<Session_OnEnd> does not occur immediately
after the session times out, but when the first script runs after the session
expires, and the C<StateManager> allows for that session to be cleaned up.

So on a busy site with default C<SessionTimeout> (20 minutes) and
C<StateManager> (10 times) settings, the C<Session_OnEnd> for a particular
session should be run near 22 minutes past the last activity that Session saw.
A site infrequently visited will only have the C<Session_OnEnd> run when a
subsequent visit occurs, and theoretically the last session of an application
ever run will never have its C<Session_OnEnd> run.

Thus I would not put anything mission-critical in the C<Session_OnEnd>, just
stuff that would be nice to run whenever it gets run.

=cut

lib/CatalystX/ASP/Response.pm  view on Meta::CPAN

);

=item $Response->{IsClientConnected}

1 if web client is connected, C<0> if not. This value starts set to 1, and will
be updated whenever a C<< $Response->Flush() >> is called.

As of Apache::ASP version 2.23 this value is updated correctly before
F<global.asa> C<Script_OnStart> is called, so global script termination may be
correctly handled during that event, which one might want to do with excessive
user STOP/RELOADS when the web server is very busy.

An API extension C<< $Response->IsClientConnected >> may be called for refreshed
connection status without calling first a C<< $Response->Flush >>

=cut

# This attribute has no effect
has 'IsClientConnected' => (
    is      => 'rw',
    isa     => 'Bool',



( run in 0.300 second using v1.01-cache-2.11-cpan-87723dcf8b7 )