¿Cuál es la sintaxis de script de ColdFusion 9 para cfsetting?

Estoy tratando de convertir un Application.cfc al guión. El original tenía esto:

<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">
     ...

No sé cómo convertir el cfsetting etiqueta a la secuencia de comandos. Los siguientes intentos no funcionan:

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

Parece que Railo puede estar apoyándolo (enlace), pero no puedo encontrar un equivalente para el cfsetting etiqueta en Documentos de ColdFusion

preguntado el 08 de noviembre de 11 a las 18:11

No le ayuda en CF9, pero CF10 agregó cfsetting nativo al script. -

5 Respuestas

No hay uno. Normalmente, sugeriría presentar una ER para esto, pero ya lo hay. Lo que recomendaría es ponerlo en un archivo CFM y usar incluir para traerlo.

Respondido 23 ago 12, 18:08

¿Ayuda votar por el informe de error, o ya está aceptado y se corregirá para la próxima versión? - Peter Boughton

El error se ha cerrado como "arreglado". CF10 parece tener un setting equivalente de etiqueta. - Jared Beck

Dale una oportunidad

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

o esta

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

donde 20 es su valor cfsetting requesttimeout

respondido 20 nov., 11:17

En CF11 (y creo que CF10), según el documentos tu puedes hacer:

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

Respondido el 23 de Septiembre de 15 a las 18:09

La pregunta es sobre CF9, pero dado que este es un resultado superior en Google independientemente de la versión, pensé que sería útil incluirlo aquí e incluir la muestra de código real. - philcruz

Estos scripts cfml:

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

debería funcionar en cfscript como estos:

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);

Respondido 28 ago 12, 19:08

Como esto no está documentado, no recomendaría usarlo en el código de producción. - Raymond Camden

Una documentación deficiente no es excusa para no utilizar las funciones integradas en el software. La única diferencia es que usted es el único responsable de asegurarse de que sigan estando presentes en futuras ediciones. Ha habido muchas características documentadas que se han roto en versiones más nuevas de todos modos. Entonces, en pocas palabras, asegúrese de usar un marco de prueba y confíe en sus pruebas más que en la documentación incompleta / inexacta. - Mike Causer

setting.requesttimeout="3000";

Esto debería funcionar

Respondido el 25 de junio de 21 a las 22:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.