将列表<string>发送到wcf服务</string>

时间:2009-03-20 04:26:40

标签: c# wcf

我试图到处寻找这个问题的答案,但没有运气..所以我转向专家在这里寻求帮助!

我在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[]))]但无济于事......

任何人都可以帮我看看我能做些什么吗?

2 个答案:

答案 0 :(得分:1)

您是否尝试将类型更改为String或String []或List,具体取决于您的设置。

答案 1 :(得分:0)

尝试仅为String

添加ServiceKnownType
[ServiceKnownType(typeof(string))]