> -----Original Message-----
> From: Jochem van Dieten [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, July 25, 2002 9:54 AM
> To: CF-Talk
> Subject: Re: NEW (ColdFusion MX or ColdFusion 4.5) and 
> Session Variables
> ( Bug)
> 
> 
> Nathan Stanford wrote:
> > Well... in one way I think it is ran from the top due to 
> the setting it to
> > zero and yet when it gets to the output of the area marked 
> bad the number is
> > ok if I hit the page once but if I hit refresh while it is 
> loading then the
> > number is incorrect.
> > 
> > Code at bottom of page with LOCKS around ALL SESSION output 
> and cfsets...
> > 
> > I give this is the strangest thing I have ever heard or saw.
> > 
> > Remember Now tested on both
> > ColdFusion MX on a Solaris 7 with Apache 1.3.26 Web Server
> > ColdFusion 4.5 on Windows NT with IIS Web Server
> 
> Some edits for readability. Look for the markers "Point 1" 
> and "Point 2".
> 
> <!--- Initializing session --->
> <cfapplication        name="test"
>               sessionmanagement="Yes"
>               sessiontimeout="#CreateTimeSpan(0, 3, 0, 0)#">
> 
> <cfif IsDefined( "Cookie.CFID" ) AND IsDefined( "Cookie.CFTOKEN" )>
>    <cfset localCFID = Cookie.CFID>
>    <cfset localCFTOKEN = Cookie.CFTOKEN>
>    <cfcookie name="CFID" value="#localCFID#">
>    <cfcookie name="CFTOKEN" value="#localCFTOKEN#">
> </cfif>
> 
> 
> <cfset request.dsnSQL ="XX">
> <cfset request.dsnAS400 ="XXX">
> <cfquery name="qry_checkoutcart" datasource="#request.dsnSQL#">
>       SELECT  *
>       FROM    OreckDealerCart
>       WHERE   OreckDealer_id  = #XXXX#
> </cfquery>
> <cfquery name="qry_checkoutcart1" datasource="#request.dsnSQL#">
>       select sum(quantity)  As CartTotal
>       FROM    OreckDealerCart
>       WHERE   OreckDealer_id  = #XXXX#        
> </cfquery>
> 
> <cflock timeout = "60" scope = "SESSION" type = "Exclusive">
>    <cfset session.dealer_id="XXXX">
>    <cfset session.cartquantity=0>
>    <cfset session.carttotal=0>
> </cflock>
> 
> <!--- Point 1 --->
> 
> <cfoutput>Before Everything:<br>
>    <cflock timeout = "60" scope = "SESSION" type="READONLY">
>      Session.Carttotal:#session.carttotal#<br>
>      Session.CartQuantity:#session.cartquantity#<br><br>
>    </cflock>
> </cfoutput>
> 
> 
> <cfif qry_checkoutcart.recordcount neq 0>
>    <cfset counter=0>
> 
>    <cfoutput query="qry_checkoutcart">
>      Before AS400:<br>
>      <cflock timeout = "60" scope = "SESSION" type="READONLY">
>        Session.Carttotal:#session.carttotal#<br>
>        Session.CartQuantity:#session.cartquantity#<br><br>
>      </cflock>
> 
>      <cflock timeout = "60" scope = "SESSION" type = "Exclusive">
>        <!--- Point 2 --->
>        <cfset
> session.cartquantity=#session.cartquantity#+#qry_checkoutcart.
> quantity#>
>      </cflock>
>    </cfoutput>
> 
> </cfif>
> 
> We have 2 instances of this template running at the same time. At the 
> time the first instance reaches Point 1, the second instance reaches 
> Point 2 and grabs the lock to update the value. Will the 
> first instance 
> display 0 for session.cartquantity or not?

Yes.... at Point 1 it is always Zero...

You also do not have the loop to slow it down... it only happens when the
page has not fully processed.


> 
> Jochem
> 
> 
______________________________________________________________________
Get the mailserver that powers this list at http://www.coolfusion.com
FAQ: http://www.thenetprofits.co.uk/coldfusion/faq
Archives: http://www.mail-archive.com/[email protected]/
Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists

Reply via email to