C# Http 比浏览器慢 (PostMan) - 有什么想法吗?

spe*_*men 5 c# dotnet-httpclient

根据评论和更多测试完全更新。

我正在使用 PostMan (Chrome 扩展)通过 HTTP POST 调用网络服务。通过 C# 执行相同操作的速度较慢。为什么,我不知道。也许没什么可做的。

浏览器(PostMan)的响应时间每次约为 70 毫秒。我用 C# 做了不同的版本:

  • HttpClient(甚至重复使用相同的 HttpClient,连续调用 2 次,只是按照注释中的建议测量第二次调用的时间)。时间最好为 150 毫秒,通常为 170 毫秒。这实际上是第二次调用,不包括创建实例。只需 POST 和 DL 答案即可。在上传(POST 正文)和下载响应时使用等待,即使这对于此测试来说确实无关紧要。
  • WebClient,不包括初始化客户端,只是post请求和响应,没有解析,只是从字节到字符串的转换,160ms。
  • 原始传输测试,只是为了检查我本地计算机上的传输/开销,无论如何都没有测量:大约 10 毫秒。
  • 使用基于其他客户端HttpWebRequest(ServiceStack v4的JsonServiceClient):大致相同。

我已经尝试过包括

System.Net.ServicePointManager.Expect100Continue = false;
System.Net.ServicePointManager.MaxServicePoints = 200;
Run Code Online (Sandbox Code Playgroud)

但结果是一样的。

那么答案是否只是 Chrome(Postman 构建于其上)比 .NET 优化得更好,还是有什么可以做的?

PS:是的,我知道这可能看起来更像是讨论而不是问答,但我正在寻找答案,所以从这个意义上说,这是一个问题。