通过WCF服务传递时,自定义集合为null

通过WCF服务传递时,自定义集合为null,wcf,custom-collection,Wcf,Custom Collection,我们有一些自定义集合,例如: [Serializable] public class OccupationCollection : Collection<Occupation> { } 现在我们正在调用WCF服务,传递包含这些类型列表的对象。列表在服务中总是以空结束 我很确定这与序列化或类似的东西有关 哪种最简单的解决方案需要对现有对象进行最小的更改才能使其正常工作?您是否通过HTTP托管了您的服务? 如果是,是否可以使用fiddler检查HTTP通信量,并确认是否正在通过线

我们有一些自定义集合,例如:

   [Serializable]
public class OccupationCollection : Collection<Occupation>
{
}

现在我们正在调用WCF服务,传递包含这些类型列表的对象。列表在服务中总是以空结束

我很确定这与序列化或类似的东西有关


哪种最简单的解决方案需要对现有对象进行最小的更改才能使其正常工作?

您是否通过HTTP托管了您的服务? 如果是,是否可以使用fiddler检查HTTP通信量,并确认是否正在通过线路发送参数的序列化版本?如果是,则服务器和客户端之间的契约中可能存在参数不匹配。 持有OccupationCollection的对象是否也用Serializable/DataContract属性修饰?如果您具有DataContract属性,请确保需要序列化的属性标记为Datamember属性

这里有更多的细节。。

您的自定义集合中是否有任何不可序列化的类型?像一个
数据表
,例如,“包含这些类型列表的对象”您能给我们展示一下吗?
private OccupationCollection _occupations;

  public OccupationCollection CurrentOccupations
    {
        get 
        {
            if (this._occupations == null)
                return new OccupationCollection();
            else
                return _occupations; 
        }
    }