我有一個執行存儲過程並返回結果的搜索函數。如果沒有結果,我想嘗試再次使用更廣義的搜索來運行該函數。於是,我把一個CFIF到我的代碼 -我的遞歸方法調用有什麼問題?
<cfif results.recordCount EQ 0 And Not arguments.searchForPotentialMatches>
<cfset arguments.searchForPotentialMatches = True />
<cfinvoke method="thisMethod" argumentCollection="#arguments#" />
</cfif>
基本上,如果沒有結果,我還沒有嘗試過通用搜索,它應該再次調用此方法。然後,在該方法的開始,在調用存儲過程之前,我檢查searchForPotentialMatches是否爲true,如果是,則推廣搜索查詢。
似乎有一個問題,雖然...當我嘗試運行這個,它掛起 - 直到有一個存儲過程超時。通過調試和輸出變量,我已經能夠看到它到達存儲過程,然後試圖執行它。但是,在這些重新運行更改之前使用原始函數,如果我執行常規搜索,然後在2個單獨的調用中執行廣義搜索,它將正確執行。所以我不確定爲什麼它失敗時,我嘗試以編程方式構建這個...我做錯了什麼?
請發佈整個函數調用。問題可能會或可能不在遞歸調用中。 – 2011-01-13 16:11:29