Ошибка сетевого потока «Невозможно закрыть поток, пока не будут записаны все байты» - PullRequest
0 голосов
/ 23 апреля 2019

Код ниже иногда дует, и это потому, что блок using завершает работу, вызывая удаление объекта «поток» до того, как поток будет полностью записан.

private void DoStuff(Stream input) 
{
    using (var stream = _httpWebRequest.GetRequestStream())
    {
        var buffer = new byte[input.Length];
        input.Read(buffer, 0, buffer.Length);
        stream.Write(buffer, 0, buffer.Length);
        stream.Flush();
    }
}

Полученная ошибка: Запрос был прерван: запрос был отменен. ---> System.IO.IOException: невозможно закрыть поток, пока не будут записаны все байты.

...