如何在多个请求之间重用HTTP连接?

6
我正在制作一个应用程序,它会不断扫描远程网站以查看是否有任何更改。我使用了 System.Net.Http.HttpClient,但我发现它可能不支持重复使用连接。
这些请求是依次执行的,但通常需要约 250 毫秒才能完成。当我打开 "重用服务器连接" 选项的 Fiddler 后,每个请求的时间降低到了最低 150 毫秒左右。
我猜测我已经错误地配置了 HttpClient,但我在 MSDN 参考文档中找不到任何可以帮助我解决问题的信息。

也许Http连接池是答案。您可以查找:https://dev59.com/027Xa4cB1Zd3GeqPve1J - shrekDeep
HttpWebRequest在4.5.2及更高版本中已经“过时(无法编译)”。http://msdn.microsoft.com/en-us/library/cc190216%28v=vs.110%29.aspx - stil
我实际上在思考HTTP1.0。正在寻找答案。 - Grigory Kornilov
1个回答

1
对于HttpWebRequest,您需要设置KeepAlive 属性
HttpClient似乎没有类似的属性,但它可能默认尝试使用keepalive。请求和响应头是什么?(仅当服务器显式发送Connection: Keep-alive响应头时,HTTP/1.0才支持keepalive) 连接在某些主机上无法使用System.Net.Http.HttpClient可能相关。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接