0

我有一个 。cfc我用于客户端和服务器代码之间的所有通信。这个cfc页面有大约10个不同的功能。每个函数都有不同的用途,我对 Select、Insert、Update 和 Delete 有查询。我想知道我是否应该在标签内的页面timeout顶部设置,或者应该在每个函数内部设置,或者我什至需要这个?在我们当前的系统中,我们有许多错误消息,例如:..cfccfcomponentThe 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>

如果有人建议最好的解决方法,请告诉我。谢谢你。

4

1 回答 1

4

您应该requesttimeout在包含它的方法中设置long-running cfquery

您不想只为一种方法“惩罚”所有方法。如果你为所有设置它,你怎么知道哪个慢,哪个可以,除非你不在乎?

于 2017-10-13T18:15:59.727 回答