Я видел похожую проблему в .NET Remoting, вызванную, на первый взгляд, HTTP-прокси между клиентом и сервером.
В принципе, правильное решение - обработать исключение - вам не следует полагатьсяна соединении keep-alive, которое фактически остается живым (например, сеть может мигать, серверный процесс может быть повторно обработан и т. д.).
Вы также можете изменить клиента, чтобы он не устанавливал keep-aliveзаголовок, то соединение будет открываться и закрываться каждый раз, поэтому никакой специальной обработки для закрытых соединений не потребуется.Конечно, это зависит от того, действительно ли поддержание активности дает некоторые преимущества в вашем конкретном случае.