我正在制作一个不断扫描远程网站是否有任何更改的应用程序。
我正在使用 System.Net.Http.HttpClient
,但我注意到它可能不支持重用连接。
请求一个接一个地执行,但通常需要大约 250 毫秒才能完成。当我打开 Fiddler 并启用“重用服务器连接”选项时,它会降至每个请求 150 毫秒。
我想我错误配置了 HttpClient
,但我在 MSDN 引用资料中找不到任何可以帮助我解决问题的信息。
最佳答案
对于 HttpWebRequest,您需要设置 KeepAlive
property .
HttpClient 似乎没有提供类似的属性,但它可能会尝试默认使用 keepalive。什么是请求和响应 header ? (HTTP/1.0 仅在服务器显式发送 Connection: Keep-alive
响应 header 时才支持 keepalive。
Connection keep-alive not working with System.Net.Http.HttpClient on certain hosts可能是相关的。
关于c# - 如何跨多个请求重用 HTTP 连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26800120/