2009-09-24 48 views
8

我在寫一個將在Windows Server 2008(IIS7)上運行的ASP.NET Web應用程序。在ASP.NET/IIS7中可以創建多少個併發的出站HttpWebRequest調用?

每個頁面的代碼隱藏需要使用的HttpWebRequest使至少一個同步Web服務調用外部服務器和GET。

我的問題 - 是否有任何限制HttpWebRequest的電話,我可以讓出站的數量? (假設我打電話服務器有沒有限制)

有彙集這些連接,讓應用變得更好任何手段?網絡花園配置會有幫助嗎?

回答

5

缺省情況下,HTTP/1.1服務器限於兩個連接和HTTP/1.0服務器僅限於四個連接。因此,如果您嘗試向HTTP/1.1服務器發出兩個以上未完成的請求,例如,您的ASP.NEt應用程序將出現嚴重的吞吐量問題。

您需要增加每個服務器或全局的連接限制。

對於如全球:

ServicePointManager.DefaultConnectionLimit = 10; // allow 10 outstanding connections 

希望這有助於。

+0

這真的很有幫助。我想補充說,通過web.config來設置,你可以添加地址到system.net /連接管理。 – Jacob

1

我認爲你的問題應該面向網絡配置。

我想說,如果每個頁面都依賴於一個同步外部呼叫,那麼您就會遇到麻煩。如果您獲得外部Web服務掛起的N個請求,該怎麼辦?你將會遇到一些問題,你無能爲力。

您是否考慮過帶回調的異步調用?

編輯:Asynchronous Pages in ASP.NET 2.0

+0

將異步從ASPX頁面的代碼隱藏調用時調用工作? – frankadelic

+0

這是一個加載的問題,但我添加了一個鏈接,該鏈接有一個應該讓你去的例子。 –

相關問題