2012-04-29 30 views
0

我有一個JQuery應用程序,使4個異步調用4個asp.net web服務,每個在一個單獨的計時器。所有異步Jquery/asp.net ajax調用被阻止一個

當我向其中一個Web服務添加Thread.Sleep(10000)命令時,所有Web服務都需要10秒才能返回。

有沒有辦法避免這種情況?它與應用程序池的線程模型有關嗎?

+0

你在哪裏添加Thread.Sleep? –

+0

我們可以看到代碼嗎?你是否在新線程上啓動每個請求? –

+0

我在asp.net c#代碼中的一次Web服務調用的開始處添加了Thread.Sleep。 – bnieland

回答

1

您可能正在運行到這裏所描述的問題:http://www.openajax.org/runtime/wiki/The_Two_HTTP_Connection_Limit_Issue

如果是這樣的話,你可能需要確保你只能有一個長期連接。

+0

嗯。我希望單個10秒的Web服務能夠「鎖定」兩個連接中的一個,讓另一個連接空閒以服務另外3個未被Thread.Sleep阻止的請求。 – bnieland

+0

我通常會認爲這種情況也會發生,但我已經看到瀏覽器留下了一個連接,可以在現在應該完成的內容下載之前......他們有時可能會表現得非常奇怪。您的代碼是否在window.onload或其他事件中運行?你確定你的頁面加載完成嗎? – Jules

+0

我在JQuery的$(document).ready()中運行一切 – bnieland