Подтвердить что ты не робот

Что такое синтаксис ColdFusion 9 script для cfsetting?

Я пытаюсь преобразовать Application.cfc в script. У оригинала было следующее:

<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 в script. Следующие попытки не работают:

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

4b9b3361

Ответ 1

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

Ответ 2

Попробуйте

<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

Ответ 3

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

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

Ответ 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);