Thanks. That's very useful and a bit depressing.

-----Original Message-----
From: Andrew Rodland [mailto:[email protected]] 
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: [email protected]
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/

_______________________________________________
List: [email protected]
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/

Reply via email to