如何设置httpclient连接超时?

时间:2017-11-04 17:05:37

标签: c# timeout httpclient

我正在努力设置与c#HttpClient或其兄弟(HttpClientHandlerWebRequestHandler,...)的连接超时。 HttpClient中有超时属性,但从请求开始到收到响应似乎是超时。我想要一个方法来指定例如,如果你没有在10秒内从网络套接字收到ACK,那么就分手然后做下一个。 我看到WinHttpHandler类中可能有类似的东西,但它似乎在最近的版本中被删除或不可用。比较第一个链接与第二个链接:

1。WinHttpHandler MSDN

2。WinHttpHandler Microsoft Docs

我真的需要这个,因为我必须尽可能地区分具有工作网络服务器(可能很慢)的IP和没有网络服务器的IP。

1 个答案:

答案 0 :(得分:0)

我在项目中使用HttpWebRequest.Timeout来确定建立tcp连接之前的连接时间。并使用HttpWebRequest.ReadOrWriteTimeout判断整个响应超时。 附言:HttpClient似乎切断了一些有用的属性。