我有一个基类“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
谢谢!
答案 0 :(得分:0)
您可以使用现有的序列化程序对其进行序列化,并将其作为Stream传递给BrokeredMesdage。在接收方做另一种方法,从Stream序列化到您的对象。