我正在使用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開始。 –