C# 具有抽象属性的MassTransit对象

C# 具有抽象属性的MassTransit对象,c#,json,json.net,rabbitmq,masstransit,C#,Json,Json.net,Rabbitmq,Masstransit,我在MassTransit工作。我有以下情况: public abstract class MyBase { public string PropertyA {get;set;} } public class MyClass1 : MyBase { public string PropertyB {get;set;} } public class MyClass2 : MyBase { public string PropertyC {get;set;} } p

我在MassTransit工作。我有以下情况:

public abstract class MyBase {
    public string PropertyA {get;set;}
}

public class MyClass1 : MyBase  {
    public string PropertyB {get;set;}
}

public class MyClass2 : MyBase  {
    public string PropertyC {get;set;}
}

public class MyMessage {
    public string PropertyD { get; set; }
    public MyBase PropertyE { get; set; }
}
我试图发布的是
MyMessage
对象

它似乎在出版商身上运行良好,但在消费者身上却不起作用

我得到的错误是:

无法创建MyBaseClass类型的实例。类型是一个接口 或抽象类,无法实例化

这对我来说很有意义

是否有任何选项强制MassTransit根据具体类型决定哪一类

编辑:
同样的类型在DataService中运行良好,在DataService中它也被序列化和反序列化

错误是否来自Newtonsoft.Json?是的,它是:在Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateNewObject…那么我假设这与MassTransit没有真正的关系,是吗?一旦你让JSON.Net反序列化JSON,它就会工作。。。您可以从错误队列中获取JSON。事实上,我会尝试改用接口,但如果您还想将所有派生类属性反序列化,这可能并不适用于您。您可以查看: