9

我正在编写一个将在 Windows Server 2008 (IIS7) 上运行的 ASP.NET Web 应用程序。

每个页面的代码隐藏都需要使用 HttpWebRequest 和 GET 对外部服务器进行至少一次同步 Web 服务调用。

我的问题 - 我可以进行的出站 HttpWebRequest 调用的数量是否有限制?(假设我调用的服务器没有限制)

有没有办法汇集这些连接以使应用程序更好地扩展?网络花园配置有帮助吗?

4

3 回答 3

6

默认情况下,HTTP/1.1 服务器限制为两个连接,HTTP/1.0 服务器限制为四个连接。因此,如果您尝试向 HTTP/1.1 服务器发出两个以上未完成的请求,例如,您的 ASP.NET 应用程序将遇到严重的吞吐量问题。

您将需要增加每个服务器或全局的连接限制。

例如,在全球范围内:

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

希望这可以帮助。

于 2009-09-27T15:13:20.957 回答
1

我认为您的问题应该针对网络配置。

如果每个页面都依赖于同步外部调用,我会说你是在自找麻烦。如果您收到 N 个挂在外部 Web 服务上的请求怎么办?那时你会遇到一些问题,你对此无能为力。

您是否考虑过带有回调的异步调用?

编辑:ASP.NET 2.0 中的异步页面

于 2009-09-25T00:54:58.917 回答
1

以下链接指向一篇非常棒的文章,用于优化 Asp.net。

http://www.codeproject.com/KB/aspnet/10ASPNetPerformance.aspx

希望能帮助到你 ;)

于 2009-12-07T05:58:33.827 回答