wcf - 使用 DataContractSerializer 序列化时命名 'ArrayOf'

标签 wcf

我创建了一个定义了多个操作契约的 WCF 服务。我的一份合约返回了已知类型的集合。该类型被单独定义为数据契约。

当集合被DataContractSerializer序列化时,xml表示将集合的名称定义为

<ArrayOfMyType*></ArrayOfMyType>

我想更改它以将其返回为

<MyTypes></MyTypes> 

但似乎可以在文档中找到所需的属性。我在系统的另一部分使用了 XmlRootAttribute,但它是为 XMLSerialiser 设计的

最佳答案

尝试定义自定义集合类型:

[CollectionDataContract(Name = "MyTypes", ItemName = "MyType")]
public class MyTypeList : List<MyType>
{ }

并使用此类型作为操作的返回值。

关于wcf - 使用 DataContractSerializer 序列化时命名 'ArrayOf',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6110844/

相关文章:

c# - 如何为 dll 加载客户端 app.config 文件

wcf - WCF:配置已知类型

WCF:如何通过 IP:Port 连接到服务

c# - WCF MsmqIntegrationBinding - 未拾取某些 XML 消息

wcf - 如何使用 WCF 数据服务返回完整的对象图?

c# - 重命名 WCF 服务时出错

c# - 创建了 WCF 服务,托管在窗口服务中,尝试在该服务中使用。怎么做?

c# - 如何从任务异步返回 WCF 响应中的流?

c# - 如何处理循环引用 - 或者 - 中断在公开 Entity Framework 数据模型的 WCF 服务中返回的第一级子级下的引用?

.net - WCF 自托管服务是否比 IIS 托管选项处理更多或更少的负载?