[Catalyst] Force the session to be saved.
Duncan Garland
Duncan.Garland at motortrak.com
Wed Mar 30 08:40:42 GMT 2011
Thanks. That's very useful and a bit depressing.
-----Original Message-----
From: Andrew Rodland [mailto:andrew at cleverdomain.org]
Sent: 29 March 2011 19:33
To: The elegant MVC web framework
Subject: Re: [Catalyst] Force the session to be saved.
On Tuesday, March 29, 2011 12:46:32 PM Duncan Garland wrote:
> Hi,
>
> We've been having some peculiar behaviour from our system. I think it's
> because the controller which produces the HTML page stores data in the
> session for retrieval by the controller which produces the associated
> javascript file.
>
> The client begins processing the HTML page as soon as it starts to arrive.
> When it reaches the script tag it requests the javascript page.
> Occasionally the first controller hasn't written the session to the
> database when the javascript controller tries to retrieve it.
> (Catalyst::Plugin::Session::Store::DBIC).
>
> I can move the script tag down the page a bit, but what I really need is a
> way to force the session to be written before the HTML template is
> rendered.
>
> Something like:
>
> $c->session->{javascript}->{$template} = { one = 1, two => 2};
> $c->session->save;
>
> Is there such a method?
>
> Regards
>
> Duncan
finalize_session (which writes the session to the DB) runs before
finalize_body (which writes the response to the client), so Catalyst already
does what you would like it to, and forcing a session write before running the
view is unlikely to help anything. I suspect either your database isn't
guaranteeing ordering, or the problem is somewhere other than where you're
looking.
Andrew
_______________________________________________
List: Catalyst at lists.scsys.co.uk
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
Dev site: http://dev.catalyst.perl.org/
More information about the Catalyst
mailing list