Thanks Mike, This is pretty much the same workaround I came up with too (except I didnt include urltoken) :)
I'm just still a little puzzled by the fact that session.sessionid (and presumably cfid and cftoken) isn't immediately available upon initiation of a new session. Dave > -----Original Message----- > From: Mike Townend [mailto:[EMAIL PROTECTED] > Sent: 18 September 2003 14:02 > To: CF-Talk > Subject: RE: Is this normal session.sessionid behavior? > > > Don't StructClear on Application or Session scopes. It kills > keys that wont > be recreated :( do something like... > > <CFSCRIPT> > Temp = StructNew(); > if (StructKeyExists(Session, "CFID")) > Temp.CFID = Session.CFID; > if (StructKeyExists(Session, "CFTOKEN")) > Temp.CFTOKEN = Session.CFTOKEN; > if (StructKeyExists(Session, "SESSIONID")) > Temp.SESSIONID = Session.SESSIONID; > if (StructKeyExists(Session, "URLTOKEN")) > Temp.URLTOKEN = Session.URLTOKEN; > > StructClear(Session); > > // Restore the important values. > if (StructKeyExists(Temp, "CFID")) > Session.CFID = Temp.CFID; > if (StructKeyExists(Temp, "CFTOKEN")) > Session.CFTOKEN = Temp.CFTOKEN; > if (StructKeyExists(Temp, "SESSIONID")) > Session.SESSIONID = Temp.SESSIONID; > if (StructKeyExists(Temp, "URLTOKEN")) > Session.URLTOKEN = Temp.URLTOKEN; > </CFSCRIPT> > > This is MX specific... You will need to lock the vars if you > are using CF5 - > > HTH > > > > -----Original Message----- > From: Dave Wilson [mailto:[EMAIL PROTECTED] > Sent: Thursday, September 18, 2003 13:44 > To: CF-Talk > Subject: Is this normal session.sessionid behavior? > > > Hi all, > > I've just noticed some rather strange behavior concerning the > session.sessionid variable. > > Basically I have declared an application variable in > Application.cfm which > stores an array of the form: > > application.sessionref[session.sessionid] = session.sellcustomer > > The array is used to help track which user (salesperson) is > dealing with > which customer at any given time. Now, I have a very basic > logout function > which utilises structclear(session) as part of it's > "clean-up" operations > then redirects the user to the application login page. > However, this results > in session.sessionid being entirely unavailable in the > session scope, hence > rendering my app inaccessible due to the error thrown by > Application.cfm. > The only way to return things to normal at this point is to > restart the > Coldfusion server. > > To clarify - the sessionid variable no longer exists within > the session > scope after a structclear(session), despite my understanding > that sessionid > is one of the cf built-in session variables. I'm not trying > to retain the > value of the variable after logout (structclear) but simply > wish for the > variable to be available immediately afterwards (in the newly > constructed > session structure). > > Anyone any ideas on this? > > Environment: CFMX U3 on RH7.2 with Apache 2.0.43 > > Thanks, > Dave > > > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Message: http://www.houseoffusion.com/lists.cfm?link=i:4:137464 Archives: http://www.houseoffusion.com/lists.cfm?link=t:4 Subscription: http://www.houseoffusion.com/lists.cfm?link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 This list and all House of Fusion resources hosted by CFHosting.com. The place for dependable ColdFusion Hosting. http://www.cfhosting.com

