【发布时间】:2011-09-03 16:45:37
【问题描述】:
我知道 .net 中有 3 种类型的序列化:
Soap , Xml , Binary.
Wcf 指示了 DataContract 属性,该属性也序列化...但是通过 what ?
二进制不是 - 我知道。
那么通过什么机制?
【问题讨论】:
标签: wcf
我知道 .net 中有 3 种类型的序列化:
Soap , Xml , Binary.
Wcf 指示了 DataContract 属性,该属性也序列化...但是通过 what ?
二进制不是 - 我知道。
那么通过什么机制?
【问题讨论】:
标签: wcf
它是为给定端点定义的绑定,它指定了序列化机制。例如:
basicHttpBinding 和 wsHttpBinding 使用 SOAPnetTcpBinding 使用二进制序列化webHttpBinding 可以使用 XML、Json、...您可以在this article 上阅读有关不同内置绑定及其属性的更多信息。由于 WCF 的可扩展性,您当然可以编写自己的自定义绑定。
【讨论】:
你把两种技术混在一起了。
DataContractSerializer、DataContractJsonSerializer、XmlSerializer)TextMessageEncoder - 用于以文本形式传输的 SOAP 消息 - 如果消息版本设置为 None,还支持 MTOM 和 POX(普通旧 XML)
BinaryMessageEncoder - 用于作为二进制数据传输的 XML/SOAP 消息WebMessageEncoder - 用于 REST 服务中的 XML 和 JSON 消息这些功能由标准绑定使用。 WCF 支持任意数量的序列化和编码 => 您可以构建自己的。
【讨论】: