c# - 如何跨多个请求重用 HTTP 连接?

标签 c# http fiddler dotnet-httpclient

我正在制作一个不断扫描远程网站是否有任何更改的应用程序。 我正在使用 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/

相关文章:

c# - 知道从代码隐藏中选择了哪个选项卡

javascript - 将架构协议(protocol)更改为 http ://in WebView Android

caching - Fiddler 显示缓存命中?

protocol-buffers - 让 Fiddler 理解(即解码)使用 Protocol Buffer 编码的 HTTP 请求/响应

c# - 在 wpf 应用程序中初始化功能区控件时出错

c# - Sharepoint 中的 web.AllowUnsafeUpdates 默认值是否始终为 false?

http - 浏览器如何在服务器端和客户端正确计算具有不同时区的 cookie 的到期日期时间

.net - 如何测试我的 .NET 客户端正在使用哪个版本的 TLS?

c# - 为什么我的 RangeValidator 不工作?

git - 如何从私有(private) Github 存储库下载二进制文件?