Код ниже иногда дует, и это потому, что блок 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: невозможно закрыть поток, пока не будут записаны все байты.