C# DataContract运行时错误-类型';myType';无法序列化。我';我做错了?

C# DataContract运行时错误-类型';myType';无法序列化。我';我做错了?,c#,wcf,serialization,exception-handling,datacontract,C#,Wcf,Serialization,Exception Handling,Datacontract,试图传递包含具有接口和接口/类列表的基本类型的“复杂”类类型 我猜有问题的成员是: public List<IMyInterface> IntrfList 好的,明白了 我在我的博客中发布了解决方案: 在与“共享”类的所有可能部分进行战斗和切割之后,我来到了有问题的区域 问题是我将接口用作与驱动类关联的成员(或..列表) 就这样!序列化程序在确定如何序列化该成员时遇到问题,因此以下是解决方案: 在即将通过WCF进行序列化和共享的类中将接口用作成员(或接口列表)时,共享类必须通过向其

试图传递包含具有接口和接口/类列表的基本类型的“复杂”类类型

我猜有问题的成员是:

public List<IMyInterface> IntrfList
好的,明白了

我在我的博客中发布了解决方案:

在与“共享”类的所有可能部分进行战斗和切割之后,我来到了有问题的区域

问题是我将接口用作与驱动类关联的成员(或..列表)

就这样!序列化程序在确定如何序列化该成员时遇到问题,因此以下是解决方案:

在即将通过WCF进行序列化和共享的类中将接口用作成员(或接口列表)时,共享类必须通过向其添加以下内容来指定接口的可能类型:

[System.Runtime.Serialization.KnownType(typeof(JobA))]
[System.Runtime.Serialization.KnownType(typeof(JobB))]
这些类型中的每一种都必须标有:

[System.Runtime.Serialization.DataContract]
注意:由于JobBase是抽象的,没有理由用KnownType标记它


就这样。

你能粘贴你的类myType吗?它的数据注释可能有问题。“myType”也有问题?IJob的
IJob
实现也需要序列化。它们是可序列化的吗?另外,至少在这个示例中,锁的使用是有问题的。是的,“myType”是ServerState。是的,锁不应该在DataMember类型属性中使用。
[System.Runtime.Serialization.KnownType(typeof(JobA))]
[System.Runtime.Serialization.KnownType(typeof(JobB))]
[System.Runtime.Serialization.DataContract]