0

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

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

我们在如下对象中使用它们:

private OccupationCollection _occupations;

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

现在我们正在调用 WCF 服务,传递包含这些类型列表的对象。列表在服务中始终为空。

我很确定这与序列化或类似的事情有关。

需要对现有对象进行最少更改才能使其工作的最简单的解决方案是什么?

4

1 回答 1

0

您是否通过 HTTP 托管您的服务?如果是,您可以使用 fiddler 检查 HTTP 流量并确认参数的序列化版本是否正在通过网络发送?如果是,则服务器和客户端之间的合同中可能存在参数不匹配。持有 OccupationCollection 的对象也是用 Serializable/DataContract 属性装饰的吗?如果您有 DataContract 属性,请确保需要序列化的属性使用 Datamember 属性进行标记。

更多细节在这里.. http://blog.functionalfun.net/2009/09/if-your-wcf-service-is-unexpectedly.html

于 2013-05-31T20:30:04.283 回答