Каков синтаксис сценария ColdFusion 9 для cfsetting? - PullRequest
18 голосов
/ 08 ноября 2011

Я пытаюсь преобразовать 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 может его поддерживать ( ссылка ), но я не могу найти эквивалент для тега cfsetting в документах ColdFusion

Ответы [ 4 ]

23 голосов
/ 08 ноября 2011

Нет ни одного. Обычно я бы предложил подать ER для этого, но уже есть. То, что я бы порекомендовал, это поместить в файл CFM и использовать include для его ввода.

8 голосов
/ 20 ноября 2011

Дайте этому попытку

<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

6 голосов
/ 23 сентября 2015

В CF11 (и я думаю, CF10), в соответствии с документами вы можете сделать:

setting enablecfoutputonly="true" requesttimeout="180" showdebugoutput="no";
4 голосов
/ 28 августа 2012

Эти сценарии 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);
...