gpt4 book ai didi

c# - WCF - 发送请求的能力,其中字段可以按任何顺序排列

转载 作者:太空宇宙 更新时间:2023-11-03 22:06:07 24 4
gpt4 key购买 nike

有什么方法可以使 WCF 服务接受顺序不重要的请求,即您可以发送以下内容并使其正确反序列化吗:

<Request>
<Field1>Val1</Field1>
<Field2>Val2</Field2>
<Field3>Val3</Field3>
</Request>

<Request>
<Field3>Val3</Field3>
<Field1>Val1</Field1>
<Field2>Val2</Field2>
</Request>

<Request>
<Field2>Val2</Field2>
<Field3>Val3</Field3>
<Field1>Val1</Field1>
</Request>

等...

我知道数据协定序列化器的默认行为,但我可以让它完全忽略顺序吗?我需要一个不同的/定制的序列化器吗?

我似乎无法在任何地方找到明确的答案。

干杯,比利

最佳答案

如果您使用 DataContractSerializer,您的 xml 必须按定义的顺序排列。通过按字母顺序排列的默认值。或者通过您定义的顺序装饰您定义的成员。

如果您尝试反序列化某些 xml 而它的顺序错误,它只会在正确位置反序列化序列化程序的值。

如果您改用 XMLSerializer,这不依赖于顺序中的 xml,并且如果它找到正确的节点将反序列化,这似乎是您想要的行为。

看看at this tutorial以 XmlSerializer 为例。

关于c# - WCF - 发送请求的能力,其中字段可以按任何顺序排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8414781/

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