Skip to main content
Ben Nadel at CFUNITED 2010 (Landsdown, VA) with: Sandeep Paliwal and Kiran Sakhare and Rupesh Kumar and Jayesh Viradiya
Ben Nadel at CFUNITED 2010 (Landsdown, VA) with: Sandeep Paliwal , Kiran Sakhare , Rupesh Kumar@rukumar ) , and Jayesh Viradiya

Using CFApplication Inside Of ColdFusion's Application.cfc

By on
Tags:

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.

Want to use code from this post? Check out the license.

Reader Comments