我们有一些自定义集合,例如:
[Serializable]
public class OccupationCollection : Collection<Occupation>
{
}
我们在以下对象中使用它们:
private OccupationCollection _occupations;
public OccupationCollection CurrentOccupations
{
get
{
if (this._occupations == null)
return new OccupationCollection();
else
return _occupations;
}
}
现在我们正在调用WCF服务,传递包含这些类型列表的对象。列表总是在服务中最终为空。
我很确定这与序列化或类似的东西有关。
最简单的解决方案是什么才能对现有对象进行微小的更改才能使其正常工作?
答案 0 :(得分:0)
您是否通过HTTP托管了服务? 如果是,您是否可以使用fiddler检查HTTP流量并确认是否通过线路发送参数的序列化版本?如果是,则服务器和客户端之间的合同中可能存在参数不匹配。 还有持有OccupationCollection的对象用Serializable / DataContract属性装饰?如果您具有DataContract属性,请确保需要序列化的属性使用Datamember属性标记。
更多细节在这里.. http://blog.functionalfun.net/2009/09/if-your-wcf-service-is-unexpectedly.html