我们使用内置XML序列化程序的NSB4。一段时间以来,我们一直在发送以下类型的消息NServiceBus XmlSerializer可以使用抽象类型吗?
public interface IReply
{
List<Quote> Quotes { get; set; }
}
最近,我们有必要与不同类型的报价,所有这些都继承一个抽象类,QuoteBase工作,以使答复现在看起来像此
public interface IReply
{
List<QuoteBase> Quotes { get; set; }
}
在运行时,List中的引号是CarQuote或VanQuote。但是,我们发现XML序列化程序不适用于抽象类型的列表。我们得到一个类型为MemberAccessException的异常,并带有“无法创建抽象类”的消息。有没有人知道有什么办法呢?
你得到了什么错误信息,它在发送/发布或接收端?另外,消息的接收者是否知道正在放入列表中的派生类型? – 2014-09-05 15:57:14
@菲尔已经修改了这个问题,并详细说明了错误。接收者确实知道派生类型。 – gilles27 2014-09-05 16:07:12
看到我的意见,您的其他问题(http://stackoverflow.com/questions/25689768/is-it-possible-to-get-at-the-current-incoming-nservicebus-message) – 2014-09-07 14:30:09