gpt4 book ai didi

.net - WCF禁用反序列化顺序敏感性

转载 作者:行者123 更新时间:2023-12-03 09:11:37 26 4
gpt4 key购买 nike

在非.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>

注意:这些属性按字母顺序进行序列化。

如果您尝试反序列化 BarID位置互换的对象,则WCF将错误定位的元素视为null。

虽然我知道我可以使用 DataMember属性并强制执行特定的排序,但我想减少调试字段为“神秘” null的问题的次数。

因此,我的问题是:在反序列化对象时,您能否告诉WCF反序列化器忽略字段的顺序。

最佳答案

这里有一个旧线程:

http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/a891928b-d27a-4ef2-83b3-ee407c6b9187

看起来唯一的选择是交换序列化程序,但随后变得更加烦人。

编辑:,您可以编写自己的序列化器以对元素进行重新排序,然后将其传递给DataContractSerializer

关于.net - WCF禁用反序列化顺序敏感性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1727682/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com