接口类型作为类的属性在客户端WCF上引发错误

接口类型作为类的属性在客户端WCF上引发错误,wcf,Wcf,嗨,我有一个类,它有一个接口类型的属性 public class A { public List<IInterface> interface {get;set;} } Public class B : IInterface { // Some properties } 公共A类 { 公共列表接口{get;set;} } 公共B类:接口 { //一些性质 } wcf服务正在调用OperationContract,该服务返回此对象的对象类型,但在我的客户端上失败 我已经在

嗨,我有一个类,它有一个接口类型的属性

public class A
{
  public List<IInterface> interface {get;set;}
}

Public class B : IInterface
{
  // Some properties 
}
公共A类
{
公共列表接口{get;set;}
}
公共B类:接口
{
//一些性质
}
wcf服务正在调用
OperationContract
,该服务返回此对象的对象类型,但在我的客户端上失败

我已经在服务契约上的所有实现类上添加了
ServiceKnowType
属性,但仍然得到相同的错误 “考虑使用
DataContractResolver
或将与“B”对应的类型添加到已知类型列表中-例如,使用
KnownTypeAttribute
属性或将其添加到传递给
DataContractSerializer
的已知类型列表中。”

我真的很困惑这将如何工作,请建议谢谢

我在正确的datacontract中添加了KnowTypeAttribute,所以上面的错误消失了,但是现在我得到了一个通用错误,underline connection God closed。
更新:此链接帮助我解决了接口问题 但是现在enums给了我一个类似的问题,我的对象在客户端中断,因为类中定义了enums属性。

对于枚举问题,是否对枚举使用EnumMember?有关示例,请参阅


如果这还不能解决问题,你能分享你在使用枚举时收到的错误消息吗?

你能把你的代码发布在哪里以及如何定义
ServiceKnownTypeTrubute
?[ServiceContract][ServiceKnownType(typeof(B))]公共接口IIService{//some function}