Получение Невозможно прочитать данные из транспортного соединения: существующее соединение было принудительно закрыто удаленным хостом - PullRequest
0 голосов
/ 04 августа 2020

Я получаю следующую ошибку при вызове веб-службы, отличной от https:

<exception>
    <type>System.IO.IOException</type>
    <message>Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.</message>
    <source>System</source>
    <stackTrace><![CDATA[   at System.Net.ConnectStream.EndRead(IAsyncResult asyncResult)     
    at System.Net.Http.HttpClientHandler.WebExceptionWrapperStream.EndRead(IAsyncResult asyncResult)     
    at System.Net.Http.StreamToStreamCopy.BufferReadCallback(IAsyncResult ar)]]></stackTrace>
    <exception>
        <type>System.Net.Sockets.SocketException</type>
        <message>An existing connection was forcibly closed by the remote host</message>
        <source>System</source>
        <stackTrace><![CDATA[   at System.Net.Sockets.Socket.BeginReceive(Byte[] buffer, Int32 offset, Int32 size, 
        SocketFlags socketFlags, AsyncCallback callback, Object state)     
        at System.Net.Sockets.NetworkStream.BeginRead(Byte[] buffer, Int32 offset, Int32 size, AsyncCallback callback, Object state)]]></stackTrace>
    </exception>
</exception>

Строка кода, вызывающая ошибку, выглядит так:

        try
        {
             response = await httpClient.SendAsync(request, cancellationToken).ConfigureAwait(false);
        }

Люди кто может читать журналы веб-сервиса, говорят, что он отвечает успешно. Согласно моей диагностике, я получаю ошибку менее чем через секунду после отправки запроса. На основе того, что я нашел в Интернете, я добавил:

        if (!httpClient.DefaultRequestHeaders.Contains("Connection"))
        {
            httpClient.DefaultRequestHeaders.Add("Connection", "Keep-Alive");
        }
        
        if (!httpClient.DefaultRequestHeaders.Contains("Keep-Alive"))
        {
            httpClient.DefaultRequestHeaders.Add("Keep-Alive", "3600");         
        }

Но заголовки Keep-Alive не помогли.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...