2009-09-08 72 views
0

我有一個包含三個資料覈實,其中的每一個通過部分頁面開始顯示包括ASP.NET頁面 - 這工作得很好。通過AJAX更新多個div不一致

每個DIV包含可以通過按特定的列被尋呼或排序的條目的一個網格。這些更新通過AJAX請求完成,這也可以工作。執行與頁面,這是從一個列表associateing與另一個項目的項目主要相互作用時出現

我的問題。第一個DIV包含航班列表,第二個DIV包含與航班相關聯的人員列表(連同對哪個航班的引用),第三個DIV包含根本不與任何航班相關聯的人員列表。利用各種UI元素 ,我可以執行諸如操作...

  1. 添加飛行
  2. 派員飛行
  3. 從飛行中刪除一個人
  4. 移動人不同的飛行
  5. 刪除飛行

所有這些操作都有一個或多個列表的不同作用,因此,在COM pletion,我只需調用必要的AJAX請求來更新每個DIV。

有時,一個或更多的DIV不更新的,其他時間在瀏覽器永遠旋轉和(即使我可以瀏覽到其他網頁)掛起如果遇到另一AJAX請求。

這個調用序列是一個接一個地完成的,在繼續下一個之前沒有機制等待前一個調用完成,所以我懷疑有某種排隊/阻塞正在進行。在研究過SO的其他主題後,我發現引用的問題是由於AJAX請求被無序處理而引起的,但我相當確信這不適用於這種情況,因爲通常,哪個命令DIV被更新。

我知道瀏覽器對併發XMLHttpRequests的數量是有限制的,它可以一次處於活動狀態,但我認爲請求會排隊,直到以前的請求完成。

是否有其他人遇到過類似的問題?

編輯:

我與監測和提琴手,情況出現問題時,有些請求只是簡單的不會話窗口中顯示出來。

+0

這是asp.net中的mvc框架? – AnthonyWJones 2009-09-08 16:38:41

+0

是的,當然是。 – belugabob 2009-09-09 07:08:26

回答

2

如果會議不提琴手現身,這意味着HTTP請求從來沒有。如果瀏覽器在不進展的情況下旋轉,則表明HTTP連接池耗盡。

這是否僅與特定瀏覽器發生?如果是IE6或7,運行fixHTTPMax.reg並重新啓動後是否出現問題?

+0

嗯,有趣的想法。不幸的是,這似乎不太可能,因爲我只能同時發出3個請求,而您提供的修復顯然是爲了克服XP SP2默認的10個併發連接。我也不確定讓所有用戶(即使是我的少數用戶)修改瀏覽器設置的實用性。此外,以間歇性錯誤的方式,今天早上似乎沒有發生,所以我必須推遲一個確定的答案,直到後來。與此同時,我會獎勵你10個QI積分(如果你不是來自英國的話,可以積極參與),以獲得有趣的結果。 – belugabob 2009-09-09 07:24:38

+0

哦,我並不是建議你讓用戶改變他們的連接限制,我只是試圖確定這是否是HTTP連接池問題。 (順便說一下,你所指的TCP/IP「掛起打開」限制與HTTP活動連接限制無關)。 – EricLaw 2009-09-10 01:32:17

+0

好的,要點 - 將進一步調查。 – belugabob 2009-09-10 15:31:55