ошибка при выполнении HTTP-запроса
У меня есть c# клиент, который вызывает удаленную конечную точку с помощью HttpClient. Клиент размещен на Windows сервере.
Клиент долго будет работать нормально, а затем я сталкиваюсь с «ошибкой при выполнении запроса HTTP».
Мы используем Trend Micro AntiVirus.
Я запускаю этот клиент примерно каждые 5 минут. Он работает очень хорошо, когда запускается, но когда происходит ошибка, она продолжает происходить. Чтобы решить эту проблему, я выключил службу, подождал некоторое время и затем перезапустил ее.
Вот мой фрагмент кода:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12 | SecurityProtocolType.Ssl3;
System.Net.ServicePointManager.MaxServicePointIdleTime = 10000;
using (var client = new HttpClient())
{
client.BaseAddress = new Uri(URL);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.ConnectionClose = true;
HttpResponseMessage response = await client.PostAsync(URL, content);
}
Вот ошибка:
Исключение: System. Net .Http.HttpRequestException: при отправке запроса произошла ошибка. ---> Система. Net .WebException: базовое соединение было закрыто: при отправке произошла непредвиденная ошибка. ---> System.IO.IOException: невозможно прочитать данные из транспортного соединения. Установленное соединение было прервано программным обеспечением на вашем хост-компьютере. ---> System. Net .Sockets.SocketException: установленное соединение было прервано программным обеспечением на хост-компьютере в System. Net .Sockets.Socket.EndReceive (IAsyncResult asyncResult) в System. Net .Sockets .NetworkStream.EndRead (IAsyncResult asyncResult)
Любая помощь будет оценена.
Спасибо!