您好我有一个具有接口类型属性的类
public class A
{
public List<IInterface> interface {get;set;}
}
Public class B : IInterface
{
// Some properties
}
wcf服务正在调用OpertaionContract
,它返回此对象的对象类型,但在我的客户端上失败。
我已经在服务合同的所有已实现的类上添加了ServiceKnowType
属性,但我仍然得到相同的错误
“考虑使用DataContractResolver
或将与”B“对应的类型添加到已知类型列表中 - 例如,使用KnownTypeAttribute
属性或将其添加到传递给{的已知类型列表中{1}}
我真的很困惑这是怎么回事,请指教谢谢。
我在右侧datacontract添加了KnowTypeAttribute,所以上面的错误消失了,但现在我得到了下划线连接关闭的一般错误。
更新:此链接帮助我解决了界面问题How can I pass a List<Interface> over WCF?
但是现在enums给了我一个类似的问题,我的对象在客户端因为在类中定义的枚举属性而中断。
答案 0 :(得分:0)
对于你的枚举问题,你是否使用EnumMember作为枚举?有关示例,请参阅http://www.codekeep.net/snippets/0002f271-1418-4027-b19a-3820702fc22f.aspx。
如果这不能解决问题,您是否可以分享使用枚举时收到的错误消息?