【发布时间】:2010-12-16 04:59:46
【问题描述】:
在非 .NET 客户端和 .NET WCF 服务之间传递序列化对象时,我遇到了一个反复出现的问题。
当 WCF 反序列化对象时,它严格依赖于属性的顺序。
也就是说,如果我将我的班级定义为:
public class Foo
{
public int ID { get; set; }
public int Bar { get; set; }
}
那么WCF会将对象序列化为:
<Foo>
<Bar>123</Bar>
<ID>456</ID>
</Foo>
注意:属性按字母顺序排列。
如果您尝试反序列化具有交换位置的 Bar 和 ID 的对象,WCF 会将错误定位的元素视为 null。
虽然我知道我可以使用 DataMember 属性并强制执行特定排序,但我想减少必须调试字段“神秘”为空的问题的次数。
所以,我的问题是:你能告诉 WCF 反序列化器在反序列化对象时忽略字段的顺序吗?
【问题讨论】:
标签: .net wcf serialization