Ben Nadel
On User Experience (UX) Design, JavaScript, ColdFusion, Node.js, Life, and Love.
I am the chief technical officer at InVision App, Inc - a prototyping and collaboration platform for designers, built by designers. I also rock out in JavaScript and ColdFusion 24x7.
Meanwhile on Twitter
Loading latest tweet...
Ben Nadel at RIA Unleashed (Nov. 2009) with:

Using CFApplication Inside Of ColdFusion's Application.cfc

Posted by Ben Nadel
Tags: ColdFusion

Last week, I gave a Nylon Technology presentation on ColdFusion's Application.cfc component. While giving the presentation, it occurred to me - if Application.cfc is a component just like any other and it really just defines a ColdFusion application, I wonder what would happen if you use ColdFusion's CFApplication tag inside of the Application.cfc. To test this, I set up a very simple Application.cfc:

  • <cfcomponent>
  •  
  • <!--- Define application. --->
  • <cfapplication
  • name="CFApp In AppCFC"
  • />
  •  
  • <!--- Define page settings. --->
  • <cfsetting
  • requesttimeout="5"
  • />
  •  
  •  
  • <!---
  • Set an application variable just to be
  • able to echo something out in our CFDump.
  • --->
  • <cfset APPLICATION.CFAppTest = "Interesting" />
  •  
  • </cfcomponent>

The Application.cfc does not contain anything Application.cfc-related; it acts merely as a container for the CFApplication tag. It then uses a standard CFSetting tag and attempts to set an APPLICATION variable that we would echo in a later CFDump.

Then, in index page, all I am doing is CFDumping out the APPLICATION scope:

  • <cfdump
  • var="#APPLICATION#"
  • label="CFApplication Test"
  • top="10"
  • />

Running this page throws the following ColdFusion error:

5 >= 0

Not one of ColdFusion's most intuitive errors (something similar to what is seen when using CFQueryParam and cached database structures), but since I was testing something very specific, I knew what caused it. Apparently, you cannot use the ColdFusion's old CFApplication inside of its new Application.cfc component.




Reader Comments

I was just wondering the same thing so I tried it out. Moving the code to the OnRequestStart function works just fine.

Reply to this Comment

Post A Comment

?
You — Get Out Of My Dreams, Get Into My Comments
Live in the Now
Oops!
Comment Etiquette: Please do not post spam. Please keep the comments on-topic. Please do not post unrelated questions or large chunks of code. And, above all, please be nice to each other - we're trying to have a good conversation here.