gpt4 book ai didi

xml - WCF 数组序列化

转载 作者:数据小太阳 更新时间:2023-10-29 02:43:24 30 4
gpt4 key购买 nike

我正在使用一个以整数数组作为参数的 WCF OperationContract。它正在使用 basicHttpBinding。

我注意到从使用 Visual Studio“添加 Web 引用”生成的客户端生成的 SOAP 包括 xmlns:

<ids>
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">100</string>
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">101</string>
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">102</string>
... etc
</ids>

这将增加具有大数组的序列化流的大小。有什么办法可以消除这个xmlns属性吗?

对于 WCF 客户端,生成的 SOAP 看起来更像我所期望的:

<ids xmlns:a="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<a:string>100</a:string>
<a:string>101</a:string>
<a:string>102</a:string>
... etc..
</ids>

最佳答案

不幸的是,这实际上是客户端代理的功能,而不是您的服务。在此示例中,您正在查看使用 XML 序列化与数据协定序列化的客户端。在使 XML 更紧凑方面,一个比另一个更好。

使用 WSE 3.0 中的类型生成器 ( link ) 可能会有一组 XML 属性标记,您可以将其放在一个类上以使其更好地序列化,也许这些标记已集成到 WSE 中,但我对此不是 100%。

您应该让我们知道您的决定。非常有趣。

关于xml - WCF 数组序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/747364/

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