HttpClient:Count不能小于零。参数名称:count

时间:2014-07-28 14:10:10

标签: c#

我使用HttpClient执行对远程服务器的REST调用:

using (var response = httpClient.PostAsync(Url, content).Result)
{
// code
}

它工作正常,但有时会返回奇怪的错误:

  

2014-07-28 12:04:40,098(268795336)[114]错误 -   System.AggregateException:发生一个或多个错误。 --->   System.Net.Http.HttpRequestException:发送时发生错误   请求。 ---> System.Net.WebException:底层连接   已关闭:发送时发生意外错误。 --->   System.ArgumentOutOfRangeException:Count不能小于零。   参数名称:count   在System.Net.TlsStream.EndWrite(IAsyncResult asyncResult)   在System.Net.ConnectStream.WriteHeadersCallback(IAsyncResult ar)

问题可能是什么原因?

1 个答案:

答案 0 :(得分:1)

我猜偶尔的问题可能是由死锁造成的。当我们使用异步方法时,出于上述原因,最好使用await而不是Task.Result。请看一下这个讨论异步编程最佳实践的link