服务总线消息GetBody不包含继承的属性

时间:2016-02-16 17:34:51

标签: azure azureservicebus

我有一个基类“Entity”和一个派生类“Site”或“Group”。两者都标记为可序列化。我将它们发送到服务总线并检索如下。但是,在读取后没有设置任何继承的属性;就好像它们在反序列化过程中被忽略了一样。我可以用这些方式工作,还是需要编写自己的XML解串器?

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

工人角色

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

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用现有的序列化程序对其进行序列化,并将其作为Stream传递给BrokeredMesdage。在接收方做另一种方法,从Stream序列化到您的对象。