我正在使用ColdFusion 8和jQuery。如何处理CFLOCK超时错误?
我正在通过jQuery执行几个ajax调用的页面上工作。很多时候,我在通过ajax调用的某个页面上看到应用程序超时错误。我不会在每个Ajax调用中都收到错误消息。我每次都没有在同一个电话上看到错误。
从我所了解的错误是由不同的网页每个试图在同一时间访问相同的应用程序变量引起的。我不确定解决问题的最佳方法是什么。
该代码似乎设置了两秒超时。这似乎过分。 cflock是否应该只读?任何其他建议?
A timeout occurred while attempting to lock the Application scope.
The error occurred in E:/INETPUB/WWWROOT/DEV/AVCAT/Application.cfm: line 53
Called from E:/INETPUB/WWWROOT/DEV/Application.cfm: line 1
Called from E:/INETPUB/WWWROOT/DEV/Application.cfm: line 53
Called from E:/INETPUB/WWWROOT/DEV/Application.cfm: line 1
51 :
52 : <!---<cfif NOT IsDefined("application.datasource")>--->
53 : <cflock timeout="#CreateTimeSpan(0,0,2,0)#" SCOPE="Application">
'createTimespan(0,0,2,0)'给出数字'0.001388 ...' - 即仅在1.4ms以下 - 对于数据库查询来说没有太多时间! –
只需注意:'createTimespan()'不返回日期/时间对象,它会返回天数(或其中的一部分)。这只是一个双。 'createTimespan(1,0,0,0)'返回1; 'createTimespan(0,12,0,0)'返回0.5等。 –
我也想看看你在锁定什么。看起来你只是锁定了'application.datasource'的赋值,这几乎可以肯定只是在一个语句中设置一个简单的字符串值。如果是这样的话:它根本不需要被锁定。无论如何,从CF5开始。 –