C# REST wcf服务中未反序列化公共属性

C# REST wcf服务中未反序列化公共属性,c#,wcf,C#,Wcf,我有一个Restful wcf服务,它返回以下类,但是当它到达客户端时,Total和Count字段变为0。但它们在服务器端具有正确的值 public class Groups : List<Group> { private int total; private int start; /// <summary> /// Total number of Groups in the result set irrespective of the

我有一个Restful wcf服务,它返回以下类,但是当它到达客户端时,Total和Count字段变为0。但它们在服务器端具有正确的值

 public class Groups : List<Group>
{
    private int total;
    private int start;

    /// <summary>
    /// Total number of Groups in the result set irrespective of the paging
    /// </summary>
    public int Total
    {
        get
        {
            return total;
        }
        set
        {
            total = value;
        }
    }

    /// <summary>
    /// Index (in the full non paged result set) of the first group in the set. 
    /// </summary>
    public int Start
    {
        get
        {
            return start;
        }
        set
        {
            start = value;
        }
    }


}
公共类组:列表
{
私人整数合计;
私人int启动;
/// 
///不考虑分页的结果集中的组总数
/// 
公共整数总计
{
收到
{
返回总数;
}
设置
{
总数=价值;
}
}
/// 
///集合中第一个组的索引(在完整的非分页结果集中)。
/// 
公共整数启动
{
收到
{
返回启动;
}
设置
{
开始=值;
}
}
}
问题是,当客户端从服务调用接收到返回值时,Start和Total字段始终为0。但是,当调试服务的代码时,它返回正确的值,但当它到达客户端时,它们已变为0但是基类的列表被正确返回(不会丢失)

当我返回Group类时,它是一个简单的类(不是从任何东西派生的),它也会正确地返回

这个问题只发生在groups集合类的公共字段中

因此,我认为这是一个反序列化问题,并尝试添加[Datamember]属性[Serializable]并实现ISerializable,但没有任何效果

任何帮助都将不胜感激


谢谢

好的,如果其他人遇到这个问题,我会这样做

当我发现这是DataContractSerializer的默认行为时,向集合添加其他属性也不是一个好的设计想法。集合应该只是项目的集合。 因此,我所做的是修改代码如下,它的工作

public class Groups
{ 私人整数合计; 私人int启动; 私人名单组

public int Total
{
  get { return total; }
  set { total = value; }
}

public int Start
{
  get { return start; }
  set { start = value; }
}

public List<Group> Values
{
  get { return groups; }
  set { groups = value; }
}
公共整数总计
{
获取{return total;}
设置{total=value;}
}
公共整数启动
{
获取{return start;}
设置{start=value;}
}
公共列表值
{
获取{返回组;}
设置{groups=value;}
}
}