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



我有一个基类"实体"和一个派生类"站点"或"组"。两者都标记为可序列化。我将它们发送到服务总线并按如下方式检索。但是,读取后不会设置任何继承的属性;就好像在反序列化期间忽略它们一样。有什么方法可以让这些工作,还是需要编写自己的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

谢谢!

您可以使用现有的序列化程序对其进行序列化,并作为 Stream 传递到 BrokeredMesdage 中。在接收端,执行相反的操作,从 Stream 序列化到对象中。

最新更新