我试图到处寻找这个问题的答案,但没有运气..所以我转向专家在这里寻求帮助!
我在c#中有一个wcf服务完全正常工作......它做了一些魔术并且它向服务器发送了一个List。服务器可以很好地读取这些PO对象。但是,我现在有一个问题,当内部PO有一个列表...
public class PO
{
/* omitted */
[DataMember]
public Object BasicContent { get; set; }
}
当BasicContent是List时,我收到以下错误:
“尝试序列化参数http://tempuri.org/:objectToPersist时出错.InitoutException消息是'Type'System.String []',数据协定名称为'ArrayOfstring:http://schemas.microsoft.com/2003/10/Serialization/Arrays'不是将任何静态未知的类型添加到已知类型列表中 - 例如,通过使用KnownTypeAttribute属性或将它们添加到传递给DataContractSerializer的已知类型列表中。'。有关详细信息,请参阅InnerException。“
我尝试在所有地方添加[ServiceKnownType(typeof(List<string>))]
或[ServiceKnownType(typeof(string[]))]
但无济于事......
任何人都可以帮我看看我能做些什么吗?
答案 0 :(得分:1)
您是否尝试将类型更改为String或String []或List,具体取决于您的设置。
答案 1 :(得分:0)
尝试仅为String
添加ServiceKnownType[ServiceKnownType(typeof(string))]