2016-02-16 6 views
0

У меня есть базовый класс «Entity» и производный класс «Сайт» или «Группа». Оба они обозначены как сериализуемые. Я отправляю их на служебный автобус и получаю следующее. Однако ни одно из унаследованных свойств не установлено после чтения; это как если бы они игнорировались во время десериализации. Как я могу заставить их работать, или мне нужно написать собственный десериализатор XML?Сообщение служебной шины GetBody не включает унаследованные свойства

var queueEntity = new QueueEntity(e); // e is Entity, Site 
var brokered = new BrokeredMessage(queueEntity); 
QueueContext.QueueClient.Send(brokered); 

Worker роль

var message = receivedMessage.GetBody<QueueEntity>(); 
var e = message.Entity; // this only has derived class property values set 

Спасибо!

ответ

0

Вы можете сериализовать его с использованием существующих сериализаторов и перейти в BrokeredMesdage как поток. На принимающей стороне делайте наоборот, сериализуя из потока в свой объект.