MemoryStream
имеет метод ToArray()
, который вы можете использовать. Возвращает байтовый массив со всем содержимым потока. Просто убедитесь, что вы закончили запись в поток, прежде чем читать содержимое. : -)
Что касается ошибки, трудно ответить без дополнительной информации. Вы убедились, что все объекты, которые вы пытаетесь сериализовать, действительны?
Edit:
Из ваших комментариев я думаю, что знаю, в чем проблема. Вы определяете MemoryStream
с фиксированным размером 1024 байта. Когда вы сериализуете ваш объект, сгенерированный xml будет больше, чем это, и вы получите ошибку, говорящую, что вы не можете расширить поток памяти. Попробуйте создать его без указания явного размера (просто используйте
new MemoryStream ()
), или установите больший размер.
Кроме того, если вы не хотите сериализовать свойство, просто пометьте его атрибутом XmlIgnore
.