首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >WCF数组序列化

WCF数组序列化
EN

Stack Overflow用户
提问于 2009-04-14 12:44:04
回答 2查看 2.5K关注 0票数 3

我使用的是一个WCF OperationContract,它接受一个整数数组作为参数。它正在使用basicHttpBinding。

我注意到从客户端生成的SOAP使用Visual Studio "Add Web Reference“生成,其中包括xmlns,如下所示:

代码语言:javascript
运行
复制
<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看起来更像我所期望的:

代码语言:javascript
运行
复制
<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>
EN

回答 2

Stack Overflow用户

发布于 2009-04-16 00:03:28

不幸的是,这实际上是客户端代理的功能,而不是您的服务。在本例中,您将看到一个使用XML序列化与数据合约序列化的客户端。在使XML更紧凑方面,一种方法比另一种方法更好。

您可能会更幸运地使用WSE3.0 (link)中的类型生成器。您可以将一组XML属性标记放在一个类上,以使其更好地序列化,也许这些属性标记已经集成到了WSE中,但我并不是百分之百同意这一点。

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

票数 1
EN

Stack Overflow用户

发布于 2009-04-15 11:15:12

我不太熟悉序列化,但这可能是SOAP1.1和1.2之间的区别吗?我敢打赌,您可以指定任何一种格式。有没有令人信服的理由不只是使用WCF客户端?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/747364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档