【问题标题】:HttpClient: Unable to read data from the transport connectionHttpClient:无法从传输连接读取数据
【发布时间】:2017-05-05 19:55:22
【问题描述】:

我正在使用 HttpClient (System.Net.Http) 发送 GET 请求,但偶尔会遇到以下异常:

无法从传输连接中读取数据。在读取所有数据之前连接已关闭。预计 894 字节,读取 0 字节。

我使用的 HttpClient 实例是静态的,as Microsoft recommends,我将 Connection 标头设置为“keep-alive”。我正在为每个请求设置授权标头并使用以下代码发送请求:

        var request = new HttpRequestMessage(HttpMethod.Get, requestUri);
        request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", _authorizationHeader);

        var response = await HttpClient.SendAsync(request);

在 sn-p 的最后一行抛出异常。有人可以帮我弄清楚是什么导致抛出这个异常吗?

【问题讨论】:

  • 尝试从浏览器使用相同的查询调用服务器并检查它是否响应。
  • 偶尔很难找到。您要从本地获取的服务器吗?它真的只是有时像互联网的本质一样不可用吗?是否涉及任何防病毒或防火墙?

标签: c# .net


【解决方案1】:

此异常源于here 描述的问题。

解决方法是在所有相关服务器上下载 IIS Crypto 并将模板设置为最佳实践(需要重新启动)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-01-11
    • 1970-01-01
    • 2016-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-15
    • 1970-01-01
    相关资源
    最近更新 更多