Coldfusion Application.CFC变量不可用
在application.cfc中,我定义了一个变量,该变量必须在整个会话中可用Coldfusion Application.CFC变量不可用,coldfusion,application.cfc,Coldfusion,Application.cfc,在application.cfc中,我定义了一个变量,该变量必须在整个会话中可用 <cfcomponent> <cfset this.applicationTimeout = createTimeSpan(0,4,0,0)> <cfset this.sessionManagement = true> <cfset this.setClientCookies = true> <cfset this.sessionTi
<cfcomponent>
<cfset this.applicationTimeout = createTimeSpan(0,4,0,0)>
<cfset this.sessionManagement = true>
<cfset this.setClientCookies = true>
<cfset this.sessionTimeout = createTimeSpan(0,0,90,0)>
<cfset this.setdomaincookies = true>
<cfset this.myVar = "Hello">
</cfcomponent>
我尝试了几种方法在.cfm中获取myVar,但都没有成功
Approach 1: <cfoutput>#myVar#</cfoutput>
Approach 2: <cfoutput>#session.myVar#</cfoutput>
Approach 3: <cfoutput>#application.myVar#</cfoutput>
方法1:#myVar#
方法2:#session.myVar#
方法3:#application.myVar#
任何帮助都将不胜感激 您将
应用程序.cfc
的范围设置与您自己的应用程序范围变量混淆
看看本·纳德尔的
基本上,您希望将application.myVar
放在OnApplicationStart()
中:
然后,您应该能够在应用程序中将其引用为application.myVar
,只是为了补充Chris的观点,您缺少了一个名称。据我回忆,如果您不指定名称,ColdFusion将持续重建您的应用程序,我发现缺少变量错误是其副作用。还要注意,名称必须是唯一的,以避免与其他应用程序发生冲突。如果变量必须在整个会话中可用,则会话变量可能更合适。或者你只是没有说出你的意思。
<cfcomponent>
<cfset this.applicationTimeout = createTimeSpan(0,4,0,0)>
<cfset this.sessionManagement = true>
<cfset this.setClientCookies = true>
<cfset this.sessionTimeout = createTimeSpan(0,0,90,0)>
<cfset this.setdomaincookies = true>
<cffunction name="OnApplicationStart">
<cfset application.myVar = "Hello">
</cffunction>
</cfcomponent>