Сериализация StiReport

Обсуждение Stimulsoft Reports.Wpf
Ответить
mishina
Сообщения: 1
Зарегистрирован: 16 фев 2015, 05:58

Сериализация StiReport

Сообщение mishina » 16 фев 2015, 06:09

Добрый день!

Мне нужно сериализовать объект StiReport, чтобы предать через WCF сервер на клиент уже готовый отчет. Обычным BinaryFormatter не получится,так как класс не помечен как сериализеумый.

Я пробовала так на сервере

Код: Выделить всё

using (var stream = new MemoryStream())
            {
                var serializer = new StiSerializing();
                serializer.Serialize(r, stream, "myapp");
                stream.Flush();
                stream.Position = 0;
                resultString =  Convert.ToBase64String(stream.ToArray());  
            }
и так на клиенте

Код: Выделить всё

byte[] b = Convert.FromBase64String(resultString );
            using (var stream = new MemoryStream(b))
            {
                var serializer = new StiSerializing();
                stream.Seek(0, SeekOrigin.Begin);
                serializer.Deserialize(report, stream, "myapp");
            }
            var newReport = report as StiReport;

но newReport = null.

Что здесь может быть неправильно или есть другой способ передать готовый отчет через wcf?
Anton Lozovskiy
Сообщения: 264
Зарегистрирован: 12 ноя 2007, 05:16

Re: Сериализация StiReport

Сообщение Anton Lozovskiy » 16 фев 2015, 08:34

Здравствуйте,

А почему бы не использовать уже готовые методы у StiReport:
SaveToByteArray
SaveToString
SavePackedReport

и соответствующие методы для загрузки LoadFrom...

Спасибо.
Ответить