什么是cfsetting的ColdFusion 9脚本语法?

时间:2011-11-08 18:50:13

标签: coldfusion coldfusion-9 cfml application.cfc

我试图将Application.cfc转换为脚本。原来有这个:

<cfcomponent displayname="Application" output="false">
     <cfset this.name               = "testing">
     <cfset this.applicationTimeout = createTimeSpan(0,1,0,0)>
     <cfset this.sessionManagement  = true>
     <cfset this.sessionTimeout     = createTimeSpan(0,0,30,0)>

     <cfsetting requesttimeout="20">
     ...

我无法弄清楚如何将cfsetting标记转换为脚本。以下尝试不起作用:

setting requesttimeout="20"; // throws a "function keyword is missing in FUNCTION declaration." error.
setting( requesttimeout="20" ); // throws a "Variable SETTING is undefined." error.

看起来Railo可能会支持它(link),但我找不到ColdFusion's documents

cfsetting标记的等价物

5 个答案:

答案 0 :(得分:23)

没有一个。通常情况下,我建议为此提交ER,但已经存在。我推荐的是放入CFM文件并使用include来将其带入。

答案 1 :(得分:8)

试一试

<cfscript>
createObject( "java", "coldfusion.tagext.lang.SettingTag" ).setRequestTimeout( javaCast( "double", 20 ) );
</cfscript>

或者

<cfscript>
createObject( "java", "coldfusion.runtime.RequestMonitor" ).overrideRequestTimeout( javaCast( "long", 20 ) );
</cfscript>

其中20是您的cfsetting requesttimeout值

答案 2 :(得分:6)

在CF11(我认为是CF10)中,按docs你可以做到:

setting enablecfoutputonly="true" requesttimeout="180" showdebugoutput="no";

答案 3 :(得分:4)

这些cfml脚本:

<cfsetting enablecfoutputonly="true" />
<cfsetting requesttimeout="60" />
<cfsetting showdebugoutput="false" />

应该在cfscript中工作:

createObject( "java", "coldfusion.tagext.lang.SettingTag" ).setEnablecfoutputonly(true);
createObject( "java", "coldfusion.tagext.lang.SettingTag" ).setRequestTimeout(javaCast( "double", 60 ));
createObject( "java", "coldfusion.tagext.lang.SettingTag" ).setShowdebugoutput(false);

答案 4 :(得分:0)

setting.requesttimeout="3000";

这应该有效