c# - HttpWebRequest 端口耗尽

标签 c# asp.net .net visual-studio

我们正在使用 Windows 服务对内部 REST 服务进行非常频繁的 HTTP 调用(每秒 20-40 次调用),但注意到在服务运行几分钟后获取响应有很长的延迟。

查看 netstat,有相当多的端口处于“TIME_WAIT”状态,看来我们的端口可能用完了。

我们如何确保端口被重用?

最佳答案

同时传出的 HTTP 连接数有限制。您可以在创建 HttpWebRequest 对象之前使用 System.Net.ServicePointManager.DefaultConnectionLimit 静态属性来控制它

将此值设置为比我认为的默认值 2 更高的值可能是值得的。

如果这没有帮助,那么您还可以增加默认的 ThreadPool 大小,以允许您更快地创建更多请求。线程池只会逐渐增加线程数量——每半秒一个新线程,IIRC

关于c# - HttpWebRequest 端口耗尽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33632256/

相关文章:

c# - 使用 IP :PORT/PATH 的 TCPClient()

C# 使用 C# WebClient 或 HttpWebRequest 将网站下载到字符串中

c# - 使用 JSON 的 Dotnet Highchart

c# - WPF 类库中的程序集范围/根级样式

c# - 如何在 .NET 位图上使用 GDI+ 模糊效果?

c# - 使用 Mono 设置桌面墙纸

c# - 安装项目正在添加内置 .NET Framework .System 程序集以输出

c# - Textbox1.Focus();不起作用; Page.SetFocus(Textbox1); 则不然为什么?

c# - 使用 JavaScript 从 ASP.NET 代码文件调用函数

c# - 在 .Net C# 中释放资源