2011-03-02 143 views
5

我一直在用戶點擊生成AJAX請求的網站上遇到困難,例如,當響應來臨時有一些視覺效果。有時會發生用戶不會等到請求完成(儘管他看到加載指示符)並開始點擊其他元素,如瘋狂。因爲原則上我不能也不想禁用這種可能性,所以我嘗試過(或多或少地成功)以確保在任何時候發起新的請求時,先前的請求被中止(客戶端),並且其處理程序不再稱爲 - 最後一個請求最後獲勝。用於服務器端AJAX請求的排隊機制

雖然在客戶端有些成功,但我現在想知道是否有某種方法來模擬服務器上的類似行爲。由於我無法真正殺死之前的請求,只能斷開它,它仍然會運行到最後並消耗寶貴的資源。如果用戶點擊20個元素,他只會看到最後一個請求的結果,但服務器上仍然會有20個請求浪費CPU來做無用的工作。

有什麼方法可以實現ASP.NET/IIS中同一資源的多個請求的最後一個策略?我猜這些請求無論如何都是在內部排隊的,而我需要的是當IIS試圖將下一個請求出隊時,只需看看是否有其他人,並且只服務於同一會話中的最後一個請求。

回答

1

我知道在IIS上的ASP,你可以測試isClientConnected,並在客戶端斷開連接時中止。

我相信大部分平臺都會有類似的東西存在。

但我不知道它如何與AJAX?

+0

HttpContext.Reponse真的有這個屬性,似乎它也工作:) – 2011-03-03 12:08:09