什么类型的序列化在幕后使用Wcf?
我知道.net中有3种序列化类型:什么类型的序列化在幕后使用Wcf?,wcf,Wcf,我知道.net中有3种序列化类型: Soap , Xml , Binary. Wcf指示还序列化的DataContract属性。。。但是通过什么 二进制不是-我知道 那么通过哪种机制?指定序列化机制的是为给定端点定义的绑定。例如: basicHttpBinding和wsHttpBinding使用SOAP netTcpBinding使用二进制序列化 webHttpBinding可以使用XML、Json 您可以在上阅读有关不同内置绑定及其属性的更多信息。由于WCF的可扩展性,您当然可以编写自己
Soap , Xml , Binary.
Wcf指示还序列化的DataContract属性。。。但是通过什么
二进制不是-我知道
那么通过哪种机制?指定序列化机制的是为给定端点定义的绑定。例如:
和basicHttpBinding
使用SOAPwsHttpBinding
使用二进制序列化netTcpBinding
可以使用XML、JsonwebHttpBinding
您可以在上阅读有关不同内置绑定及其属性的更多信息。由于WCF的可扩展性,您当然可以编写自己的自定义绑定。您将两种技术混为一谈
- 序列化—对象如何转换为消息—我们有现成的XML和JSON格式化程序(
,DataContractSerializer
,DataContractJsonSerializer
)XmlSerializer
- 编码-信息如何传输-我们有三个现成的编码器
-对于作为文本传输的SOAP消息-如果消息版本设置为TextMessageEncoder
None,则还支持MTOM和POX(纯旧XML)
-用于作为二进制数据传输的XML/SOAP消息BinaryMessageEncoder
-用于REST服务中的XML和JSON消息WebMessageEncoder
这些功能由标准绑定使用。WCF支持任意数量的序列化和编码=>您可以自己构建。是否有二进制序列化的实现?我不希望序列化程序每次发送属性时都传输属性名称?我是否可以在wshttpbinding中指定使用dataContractJsonSerializer?@MichaelFreidgeim:否。wshttpbinding用于Soap服务。Soap不是序列化机制。