2013-04-23 61 views
1

我必須使用我的Silverlight應用程序執行100個並行HTTP請求。不幸的是,並行連接受到瀏覽器的限制。如何在瀏覽器中運行Silverlight並處理多個(超過100個)並行HTTP請求?

如果我開始Prozess我開始平行的所有請求。瀏覽器似乎只處理大約10個並行連接(像max連接)。所有其他人都在等待。如果瀏覽器收到響應,它將處理下一個WAITING請求等。

我的問題是,最後等待請求從不處理。有沒有超時?如果是 - 我可以控制超時嗎?

如果我實現我自己的超時定時器,我怎麼能啓動它(似乎有Silverlight的之間的差距開始請求和瀏覽器處理請求)。

我可以檢測瀏覽器的「最大連接」到partitionize較小的塊100個請求?

+0

也許只是也許跑100平行HTTP的請求是不是會從Silverlight中很好地工作的東西,你需要考慮其他的設計?我可以問:什麼有效的Silverlight場景*需要*這個? – 2013-04-23 11:18:41

+0

我有一張桌子,想要爲每一行做一些計算。 – koalabruder 2013-04-23 11:49:53

+1

如果您絕對必須在服務器端進行計算,您應該在一次調用中將100個數據對象的列表向下發送到服務器,而不是在100次單獨的調用中發送。 – 2013-04-23 12:18:37

回答

1

現在我不建議這樣做,但如果你在同一臺服務器/網站創建多個子域名,並均勻地分佈負載,您可以通過每臺服務器10個額外要求增加。 IE瀏覽器。 www1.domain.com,www2.domain.com等。您經常會在Bing和Google地圖上看到這種方法可以快速加載許多磁貼。但是正如其他人所評論的,你的方法從一開始就是錯誤的。也許只考慮計算行按需(IE時,用戶請求特定的行來計算)。通過TPL異步/等待擴展,它可以非常容易地在n/10個隊列中分塊並逐個處理它們。

相關問題