Общее решение, указанное в Интернете, заключается в том, чтобы установить для свойства KeepAlive объекта HttpWebRequest значение false. Это может решить проблему, если основная причина заключается в том, что ожидается повторное использование соединения, даже если оно фактически автоматически закрывалось через некоторое время. Тем не менее, производительность постоянно падает и закрывается.
Другим возможным решением, которое я использовал, когда столкнулся с этой проблемой, было расширение свойств Timeout: WebRequest.ReadWriteTimeout, WebRequest.Timeout, RequestStream.WriteTimeout и RequestStream.ReadTimeout. Обратите внимание, что они указаны в миллисекундах, поэтому вы можете захотеть, чтобы время ожидания составляло 1000 * 60 * 10 и представляло 10 минут (или просто 600000, если вы думаете, что знаете, что это значит ...). Вы можете проверить, является ли это наиболее вероятной причиной проблемы, уменьшив размер файла.
КСТАТИ. Ваш код больше не был на указанном веб-сайте. Возможно, вы захотите включить его в текст вашего поста, если он все еще остается проблемой.