Соединение C # HttpClient прервано - PullRequest
0 голосов
/ 21 февраля 2019

Я использую следующий код для выполнения запроса POST к внешнему приложению.Этот запрос исходит от контроллера приложения .NET MVC.

            using(HttpClient postClient = new HttpClient())
        {
            postClient.DefaultRequestHeaders.Add("Connection", "close");
            postClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes(string.Format("{0}:{1}", username, password)))));
            postClient.DefaultRequestHeaders.Add("Crumb", crumb);
            HttpResponseMessage response = await postClient.PostAsync("url", httpContent);
            response.EnsureSuccessStatusCode();
        }

, что приводит к следующей трассировке стека:

[SocketException (0x2745): установленное соединение было прерванопрограммным обеспечением на вашем хост-компьютере]

[IOException: невозможно прочитать данные из транспортного соединения: установленное соединение было прервано программным обеспечением на вашем хост-компьютере.]

[HttpRequestException: ошибкапри копировании содержимого в поток.]

Я удалил подробные строки из-за политики компании, и при необходимости могу добавить их обратно с пропущенной информацией.Я прочитал настройку соединения, чтобы закрыть может решить проблему, но это не помогло.Есть ли другое решение?

1 Ответ

0 голосов
/ 21 февраля 2019

Извините, у меня нет 50 репутаций для добавления комментария.

Эта ошибка не вызвана вашим кодом.Что-то в итоге заблокировало поток http вашей программы во время отладки.

Так что выключите / закройте антивирус и брандмауэр и попробуйте снова.

...