----- Original Message ----- From: "Jim Curran" <[EMAIL PROTECTED]> > Just a thought off the top of my head, > 1) copy the session structure to a temporary local structure in > Application.cfm: > > <cflock ...> > <cfset session_temp = structcopy(session)> > </cflock>
Actually, this is one of the more common workarounds for locking issues. Although I usually use REQUEST scope for this so that the variable is available to all templates, including custom tags. Depending on how much data you've got stuffed into shared scopes, you can do a wholesale copy of both scopes. <cflock scope="APPLICATION" type="readonly" timeout="10"> <cfscript> REQUEST.application = structNew(); for (i IN APPLICATION) { REQUEST.application[i] = duplicate(APPLICATION[i]); } </cfscript> </cflock> Then do the same thing for Session. It does add overhead to the application. But if the main concern is cleaner code, this can be a viable workaround. (structCopy() has been deprecated in favor of the duplicate() function.) Sharon DiOrio ______________________________________________________________________ Structure your ColdFusion code with Fusebox. Get the official book at http://www.fusionauthority.com/bkinfo.cfm FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists