Скопируйте поток и ReadToEndAsync () - PullRequest
0 голосов
/ 15 мая 2018

У меня есть специальное средство чтения потоков, полученное из System.IO.Stream, которое не поддерживает положение и Seek для перемещения заголовка в начало, чтобы дважды прочитать поток.

Мне нужно скопировать поток в другую переменную, прежде чем я сделаю ReadToEndAsync (). Позже я бы использовал поток копирования, чтобы читать снова с начала.

Есть ли способ, которым я могу это сделать?

var stream = customStream;

customStream.ReadToEndAsync();

var st = new StreamReader(stream);

st.ReadToEndAsync();

не получает никаких данных, так как заголовок находится в конце потока предыдущей команды.

Я пытался Stream.Position = 0; // Не работает, потому что не поддерживается пользовательским потоковым ридером

stream.BaseStream.Seek(0, SeekOrigin.Begin); // Не работает, поскольку не поддерживается пользовательским потоковым ридером

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...