Как я могу прочитать поток ответов Http дважды в C #?

Я пытаюсь прочитать поток ответов Http дважды с помощью следующего:

HttpWebResponse response = (HttpWebResponse)request.GetResponse();
stream = response.GetResponseStream();
RssReader reader = new RssReader(stream);
do
{
  element = reader.Read();
  if (element is RssChannel)
  {
    feed.Channels.Add((RssChannel)element);
  }
} while (element != null);

StreamReader sr = new StreamReader(stream);
feed._FeedRawData = sr.ReadToEnd();

Однако при выполнении кода StreamReader данные не возвращаются, потому что поток достиг конца. Я попытался сбросить поток через stream.Position = 0, но это вызывает исключение (я думаю, потому что поток не может изменить свою позицию вручную).

По сути, я хотел бы проанализировать поток для XML и иметь доступ к необработанным данным (в строковом формате).

Есть идеи?

Ответы на вопрос(2)

Ваш ответ на вопрос