У меня есть потоковая запись, которая открывается с помощью вызова WebClient.OpenWrite. Для этого упрощенного случая предположим, что читатель читает кратное из dataChunkSize.
using (Stream writer = myWebClient.OpenWrite(myURIString)
{
using (FileStream reader = new FileStream(myFileName, FileMode.Open, FileAccess.Read)
{
for(int i = 0; i < reader.Length; i += dataChunkSize)
{
byte[] data = new byte[dataChunkSize];
reader.Read(data, 0, dataChunkSize);
writer.Write(data, 0, dataChunkSize);
}
reader.Close();
reader.Dispose();
}
writer.Close();
writer.Dispose();
}
Мои данные имеют размер 2 dataChunkSizes. Однако он не отправляет никакие данные (данные не принимаются) до тех пор, пока не будет вызван метод writer.Close (), где он отправляет только первую сумму данных dataChunkSize ... второй dataChunkSize данных никогда не отправляется.
Как я могу получить его для отправки после каждого вызова записи? Я попытался добавить writer.Flush (), но это не помогло.
Спасибо.