我知道.net中有3种类型的序列化:
Soap , Xml , Binary.
Wcf指示了DataContract属性,该属性也序列化......但是通过什么?
Binary不是 - 我知道。
那么通过哪种机制?
答案 0 :(得分:16)
为给定端点定义的绑定指定了序列化机制。例如:
basicHttpBinding
和wsHttpBinding
使用SOAP netTcpBinding
使用二进制序列化webHttpBinding
可以使用XML,Json,... 您可以在this article上详细了解不同的内置绑定及其属性。由于WCF的可扩展性,您当然可以编写自己的自定义绑定。
答案 1 :(得分:15)
你把两种技术混在一起。
DataContractSerializer
,DataContractJsonSerializer
,XmlSerializer
)TextMessageEncoder
- 对于作为文本传输的SOAP消息 - 如果消息版本设置为None
BinaryMessageEncoder
- 用于作为二进制数据传输的XML / SOAP消息WebMessageEncoder
- 用于REST服务中的XML和JSON消息这些功能由标准绑定使用。 WCF支持尽可能多的序列化和编码=>你可以建立自己的。