Great suggestion... The only thing I'd add is that you might consider a user defined
function for setting client/session variables...
function setSession(varname,myvalue) {
session[varname] = myvalue;
"client.#varname#" = myvalue;
}
I'm not sure off the top of my head if that works... I'm inclined to expect it to
throw an error on "client.#varname#" = in the function call even though it works
outside of cfscript... and as there's no setclientvariable() function and "client"
isn't a structure, I'm not sure how else I'd accomplish it... in any event -- the idea
is that you don't want to have to remember to set 2 variables every time you want to
set that session variable, so the function lets you do it with just the one
statement...
<cfset setSession("userid",myquery.userid)>
Original Message -----------------------
I thought some of you might find this interesting.
For an application I needed to have the speed of reading Session variables from RAM,
combined with the persistence of Client variables that don't go away if the Coldfusion
server is cycled (restarted) and RAM is tossed out. (something that happens too often
on a shared server)
The solution is relatively simple:
I kept these 'persistent session variables' all together in a structure just to make
working with them easier.
Every time I needed to write (change) the variables I updated both a session variable
AND a client variable.
Every time I needed to read the variables I simply read from a session variable.
I have code that runs before every page (Fbx_settings for Fusebox or Application.cfm
otherwise) that checks if there is no current session (NOT
IsDefined('session.insession')). If not, then I mark the current session (
session.insession='yes') and copy the client variable to a session variable.
Think of the client variable as a 'backup' for the session variable.
Slight speed hit on writes in return for persistence across reboots and restarts.
-Peter Theobald
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4
Subscription:
http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4
FAQ: http://www.thenetprofits.co.uk/coldfusion/faq
This list and all House of Fusion resources hosted by CFHosting.com. The place for
dependable ColdFusion Hosting.
http://www.cfhosting.com
Unsubscribe:
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4