Excellent, thanks for the pointers :)
Ryan
On 7/9/03 17:48, "Jim Davis" <[EMAIL PROTECTED]> wrote:
> You don't have to set Application variable in the Application.cfm - you
> can set them anyplace.
>
> You DON'T want to set to set them every request however - that defeats
> the purpose of the Application scope. ;^)
>
> The most common way to do this is to set a "marker" variable of some
> kind (I use "Application.AppSet ") in this way:
>
> <cfif NOT IsDefined("Application.AppSet")>
>
> <cfset Application.Foo = 1>
> <cfset Application.Faa = 2>
>
> <cfset Application.AppSet = True>
>
> </cfif>
>
> This way your variables will only be set once - the first time the
> application is run (after a server/service reboot or application
> timeout).
>
> Additionally many people add in a trigger to allow them to reset them
> "on command" as well (this makes it easier to change the variables in
> development). Changing the first line to something like this:
>
> <cfif NOT IsDefined("Application.AppSet") OR IsDefined("URL.ResetApp")>
>
> In this case if you pass "anyfile.cfm?ResetApp=Y" it will rebuild your
> application variables. You may want to make a certain value required
> for ResetApp (basically a reset password) or only allow administrators
> to do it (if your site supports roles-based security) but that's the
> general idea.
>
> Jim Davis
>
>
>
>> -----Original Message-----
>> From: Ryan Mitchell [mailto:[EMAIL PROTECTED]
>> Sent: Sunday, September 07, 2003 10:38 AM
>> To: CF-Talk
>> Subject: Re: Request vs application
>>
>> Cool, that�s what I was thinking, its nice to double check.
>> I'm mx, so I guess I'll have to change them all to application scope
> :)
>>
>> I've not stored constants there before, do I still have to set them in
> the
>> application.cfm file? That will mean they get overwritten every
> request?
>>
>>
>> On 7/9/03 14:33, "Gyrus" <[EMAIL PROTECTED]> wrote:
>>
>>> At 13:24 07/09/2003 +0100, you wrote:
>>>> I've just developed a site where I have a lot of request variables
>> defined
>>>> in application.cfm, which are constant values...
>>>>
>>>> Would there be benefit in defining these as application variables?
>>>
>>> If you're using CFMX, probably best to store constants in the
>> Application
>>> scope. Unless there are "race condition" risks (i.e. risk of two
>> processes
>>> updating a value at once), which is very unlikely with constants,
> you
>> don't
>>> need to lock the scope when you access the vars. Then you've got
> them
>> all
>>> stored once for the whole application, whereas putting them in the
>> Request
>>> scope stores them in memory once for every current request.
>>>
>>> Pre-MX, my rules-of-thumb are:
>>>
>>> - Store frequently accessed constants and variables in the Request
> scope
>>> for ease of access
>>> - Store anything only accessed once or twice during any request in
> the
>>> Application scope, and remember to lock when reading
>>> - The larger and less frequently accessed the data, the better
> candidate
>> it
>>> is for storing in Application, and vice versa for Request
>>>
>>> HTH,
>>>
>>> Gyrus
>>> [EMAIL PROTECTED]
>>> play: http://norlonto.net/
>>> work: http://tengai.co.uk/
>>> PGP key available
>>>
>>>
>>
>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
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
Signup for the Fusion Authority news alert and keep up with the latest news in
ColdFusion and related topics.
http://www.fusionauthority.com/signup.cfm