【发布时间】:2011-05-19 03:39:57
【问题描述】:
我正在使用异步 HttpWebRequest BeginGetResponse 调用;文档说没有关闭 回调中的流可能会导致连接用完。
在“用完”之前我可以拥有多少个连接?我正在使用 .NET 3.5。
另外,CLR 中是否有套接字连接池。如果是这样,这在哪里记录?
【问题讨论】:
标签: c# .net asynchronous httpwebrequest connection
我正在使用异步 HttpWebRequest BeginGetResponse 调用;文档说没有关闭 回调中的流可能会导致连接用完。
在“用完”之前我可以拥有多少个连接?我正在使用 .NET 3.5。
另外,CLR 中是否有套接字连接池。如果是这样,这在哪里记录?
【问题讨论】:
标签: c# .net asynchronous httpwebrequest connection
有多少?取决于很多事情;套接字与所有其他异步 I/O 机制共享 I/O 线程池。
一个简短但无益的答案是“很多”。除非您正在创建某种类型的服务器,否则您极不可能用完。
没有这样的套接字连接池,但有一个异步 I/O 线程池,正如您可能从上面收集到的那样。您可能会发现有启发性的this blog post from Eric Eilebrecht,而下面的帖子是关于what happens next。
【讨论】:
您可能没有意识到,您的路由器将在其中发挥重要作用。 (当然还有内存、互联网连接速度等。)知道 理论上 最大值是多少会很有趣...根据您的操作系统,您可能需要进行一些调整以允许 许多连接。
【讨论】: