.Net HttpClient.timeout是什么意思?

时间:2019-12-30 08:29:49

标签: c# .net-core

我正在.NET Core 2.2中处理HttpClient.timeout。我想知道-这里的超时是整个还是仅计算连接时间(请求建立与远程主机的连接的时间)和套接字时间(连接建立后,主机等待传入数据的时间)连接时间?

我已经搜索了the official docs here,但似乎没有任何解释。有人可以帮我吗?谢谢。

1 个答案:

答案 0 :(得分:0)

使用WinHttpHandler,您可以设置以下所示的不同超时时间

        var httpMessageHandler = new System.Net.Http.WinHttpHandler();
        httpMessageHandler.SendTimeout = TimeSpan.FromSeconds(150);
        httpMessageHandler.ReceiveDataTimeout = TimeSpan.FromSeconds(80);
        httpMessageHandler.ReceiveHeadersTimeout = TimeSpan.FromSeconds(70);
        var httpClient = new HttpClient(httpMessageHandler);
        httpClient.Timeout = TimeSpan.FromSeconds(200);

据我所知,您对httpClient.Timeout的问题是整体,但您可以使用上面的方法进行测试。