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

时间:2010-12-07 11:04:15

标签: wcf

您好我有一个具有接口类型属性的类

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

Public class B : IInterface
{
  // Some properties 
}

wcf服务正在调用OpertaionContract,它返回此对象的对象类型,但在我的客户端上失败。

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

我真的很困惑这是怎么回事,请指教谢谢。

我在右侧data​​contract添加了KnowTypeAttribute,所以上面的错误消失了,但现在我得到了下划线连接关闭的一般错误。
更新:此链接帮助我解决了界面问题How can I pass a List<Interface> over WCF? 但是现在enums给了我一个类似的问题,我的对象在客户端因为在类中定义的枚举属性而中断。

1 个答案:

答案 0 :(得分:0)

对于你的枚举问题,你是否使用EnumMember作为枚举?有关示例,请参阅http://www.codekeep.net/snippets/0002f271-1418-4027-b19a-3820702fc22f.aspx

如果这不能解决问题,您是否可以分享使用枚举时收到的错误消息?