【发布时间】:2017-10-13 17:55:10
【问题描述】:
我有一个 .cfc 用于客户端和服务器代码之间的所有通信。这个cfc页面有大约10个不同的功能。每个函数都有不同的用途,我对 Select、Insert、Update 和 Delete 有查询。我想知道我是否应该在cfcomponent 标签内的.cfc 页面顶部设置timeout,或者这应该设置在每个函数中,还是我什至需要这个?在我们当前的系统中,我们有许多错误消息,例如:The request has exceeded the allowable time limit Tag: CFQUERY。
我想防止在我的应用中出现任何类似的错误消息。这是我的 cfc 页面的示例:
<cfcomponent>
<cfset currentDate = DateFormat(Now(),'mm/dd/yyyy')>
<cfset currentTime = TimeFormat(Now(),'hh:mm tt')>
<cfinvoke component="appEntry" method="getRecord" returnvariable="CHKAccess">
<cfinvokeargument name="user" value="userdata"/>
<cfinvokeargument name="app" value="myApp"/>
</cfinvoke>
<cfset adminAccess = false>
<cfset userAccess = false>
<cfif CHKAccess.RecordCount EQ 1>
<cfif CHKAccess.pd_hfmAccess EQ 'A'>
<cfset adminAccess = true>
</cfif>
<cfif CHKAccess.pd_hfmAccess EQ 'U'>
<cfset userAccess = true>
</cfif>
</cfif>
<cffunction name="getData" access="remote" output="true" returnformat="JSON">
<cfargument name="keyVal" type="string" required="true">
<cfset fnResults = structNew()>
<cfif userAccess>
<cfquery name="getRec" datasource="tes">
SELECT some columns
FROM Test
</cfquery>
<cfset fnResults.status = "200">
<cfelse>
<cfset fnResults.status = "400">
<cfset fnResults.message = "Invalid access attempt.">
</cfif>
<cfreturn fnResults>
</cffunction>
<!--- More functions below --->
</cfcomponents>
如果有人建议最好的解决方法,请告诉我。谢谢。
【问题讨论】:
-
这里有 Application.cfc 或 Application.cfm 吗?
-
@DanBracuk 它是 Application.cfc
-
如果您想在每个页面上设置超时,请将代码写入 Application.cfc 的 onRequestStart 方法。但请记住,查询也有默认超时。如果您知道哪些较慢,请给它们更长的超时时间。
标签: coldfusion settimeout coldfusion-9 cfc cffunction