Я использую следующий код для выполнения запроса 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: ошибкапри копировании содержимого в поток.]
Я удалил подробные строки из-за политики компании, и при необходимости могу добавить их обратно с пропущенной информацией.Я прочитал настройку соединения, чтобы закрыть может решить проблему, но это не помогло.Есть ли другое решение?