客户端超时何时开始?

时间:2019-01-10 15:18:24

标签: iis wsdl tcpclient dotnet-httpclient

好的,这是场景:

客户在10:00:00(H:M:S)发送请求。该请求将存储在IIS应用程序池QUEUE中,直到该请求有可用线程为止。线程被释放,应用程序池现在接收到它必须处理的请求。时间是10:00:15。

客户何时开始等待其响应-在10:00:00或10:00:15?

1 个答案:

答案 0 :(得分:1)

客户端超时时间始于10:00:00。客户端不知道服务器内部发生了什么,甚至都不知道网络延迟。它所知道的就是何时发送请求以及何时接收响应(如果有的话)。

尽管platform-specific message handler levelSendTimeoutReceiveHeadersTimeoutReceiveDataTimeout)处的粒度超时可能更多,而Timeout在.NET Standard兼容上定义HttpClient的实现是端到端的。根据{{​​3}}:

  

HttpClient.Timeout属性旨在完全符合您的要求   指99%的情况:端到端超时,之后   请求过期。 WinHttpHandler API旨在提供一个   对开发人员具有更高级方案的更深入的控制。持有   出于这种意图,我们对该类型的超时有了更细微的超时   过去我们收到了要求控制的开发人员请求   在请求的特定阶段。