Everyone,

Thanks for the responses thus far.  I fear that the problem may be CFLOCK 
related.  I'm not sure how setting up component objects in session should be 
treated.  Here is some additional information about how things are setup:

I do use cflock throughout the site, but not when creating a "user" session 
variable via setting up a component object.  I guess my thinking was that when 
I create a user session it's "per user", so conflicts/deadlocks wouldn't be 
common.  I  

This is how everything works:  when the user logs into the site, a component is 
created (in session) that stores all of the user data and functions that deal 
with the user data:

<!---CREATE THE USER OBJECT --->
<cfobject name="session.myUser" component="/cfc/myUser"> <cfset 
session.myUser.init(#form.userid#)>

After this has been initialized, I get all data via calling functions that are 
in the component:

<cfset variables.test = session.myUser.getUserID()>

On the application.cfm page, to verify that the user is still logged in with a 
valid session, we perform this check:

<cfif isdefined("session.myUser")>

If this comes back as false, then the user is directed to a timeout page.  

We have three main components that store information in the session scope that 
can/is used on every page of the site.  I am not using cflock everywhere.  
After reading some of the feedback and doing some research, I'm still not 
completely sure if the problem we're having is caused by this, and I really 
want to pin down facts because if this is the problem there will be a LOT of 
changes.  

What do you suggest?  My thinking is that in the "getter" and "setter" 
functions I have built in my components I can add the "cflock" tags there and 
not have to worry about adding them throughout the entire site.  It would look 
like this:

<!---GET THE USERID---> 
<cffunction name="getUserID" output="false" returntype="string" access="remote">
        <cflock scope="session" name="test" type="readonly" timeout="60" 
throwontimeout="Yes">
                <cfset variables.tempuserID = variables.userID>
        </cflock>
        <cfreturn variables.tempuserID>
</cffunction>

Hopefully this would cover all of the bases.....but I would be calling a 
function in session scope (example above) so would I need to wrap cflock tags 
around each function call?  That could get ugly......

Thanks in advance for any additional help you can offer.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Create Web Applications With ColdFusion MX7 & Flex 2. 
Build powerful, scalable RIAs. Free Trial
http://www.adobe.com/products/coldfusion/flex2/?sdid=RVJS 

Archive: 
http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:274646
Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4

Reply via email to