wcf - 为什么 DataContractSerializer 不支持属性?

标签 wcf xsd datacontractserializer svcutil.exe

我根据客户的文档创建 xsd,并且所有 xsd 都具有属性。我一直在使用 xsd.exe 从 xsd 生成类,但我了解到 DataContractSerializer 不支持属性。为什么不?这是否意味着我只能有一个只有元素的 soap+xml 文件?这是不可能的,因为我不创建请求。有没有办法指定svcutil识别属性?

最佳答案

DataContractSerializer 的创建秉承了“代码优先”的理念——它可以很好地映射到大多数编程语言(记录、列表),并且它不处理所有 XML 结构(例如属性或非排序元素,例如)出于性能原因。

WCF (svcutil) 仍然支持使用 XmlSerializer,它可以处理据我所知的所有 XML 结构。如果 DataContractSerializer 无法处理,svcutil 应使用 XmlSerializer 创建契约(Contract)。

关于wcf - 为什么 DataContractSerializer 不支持属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6074708/

相关文章:

.net - 在客户端请求反序列化之前和响应序列化之后 Hook 到 WCF 服务

xml - 如何在复杂类型的 xsd 文件中使用唯一标记?

java - cvc-复杂-类型.2.4.a : Invalid content was found starting with element Media

c# - 如何使用 DataContractSerializer 创建带有与我已知类型匹配的标签名称的 xml

c# - EF DataContractSerializer 异常

c# - 使用 DataContractSerializer(typeof(BaseClass)) 反序列化继承类

.net - 如何以声明方式指定 AddressFilterMode.Any

c# - 具有共享 web.config 日志记录的多个 Web 服务使用 Ent Lib 分离平面文件

java - 跨项目指定 XSD schemaLocation 的正确或正确方法是什么?

c# - 使用 WCF JSON Web 服务的客户端配置