Ответ 1
Нет. Обычно я предлагаю для этого ER, но это уже есть. То, что я бы рекомендовал, помещает в CFM файл и использует include для его ввода.
Я пытаюсь преобразовать 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
Нет. Обычно я предлагаю для этого ER, но это уже есть. То, что я бы рекомендовал, помещает в CFM файл и использует include для его ввода.
Попробуйте
<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
В CF11 (и я думаю, CF10), за docs вы можете сделать:
setting enablecfoutputonly="true" requesttimeout="180" showdebugoutput="no";
Эти скрипты 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);