我花了一個星期的時間試圖解決這個問題。這個想法是我需要有2個按鈕,「執行」和「取消」。 「執行」運行一個長的SQL查詢。取消必須能夠「取消」查詢。問題是,當我發送2個Ajax查詢到服務器,它們是按順序完成的,所以「取消」單擊處理函數不能「取消」前一個(雖然我有一個查詢我可以調用Q.cancel( ))。我看到這與「鎖定會話」有關。從ASP.net中取消SQL請求頁
當單擊「取消」時,我甚至無法將用戶重定向到另一個網頁,因爲ajax調用「execute」不允許執行其他任何操作,直到它完成。
我試過使用微軟的反應式擴展(rx.net)庫,這可能會讓我爲「執行」創建另一個線程,但在這種情況下,因爲我不等待該線程完成並返回,我沒有收到查詢結果。
請幫忙。非常感謝除「不取消它」之外的任何幫助。