Как создать документ XPS в службе WCF для хранения и возврата?
У меня есть сервис WCF среднего уровня, и в некоторых случаях мне нужно создать печатный документ, сохранить его для последующего использования в базе данных и вернуть его клиенту.
Мой первый выбор в качестве формата файла был XPS, поэтому я хотел бы создать документ XPS в службе WCF, сохранить его и вернуть.
Есть ли простой способ добиться этого или какой-то другой очевидный способ решения моей проблемы (хранение и возврат печатного документа в WCF), который я пропустил?
1 ответ
Решение
Легко? В XPS нет ничего легкого.
В настоящее время я сериализую XPS в байтовый массив, используя XpsSerializerFactory
using (MemoryStream ms = new MemoryStream())
{
var writer = new XpsSerializerFactory().CreateSerializerWriter(ms);
writer.Write(fds);
return ms.ToArray();
}
Я играл с простой передачей потока памяти, который поддерживает пакет документа вместе с URI документа, но я никогда не проверял это.