1、序列化
序列化是通常用来描述将一个对象结构转换成一个字节数组过程的规则。这对于表达对象的状态非常有用。序列化可以用来将一个对象的状态持续保存到一个文件或者一个数据库中,拷贝一个对象到粘贴板,或者通过网络将对象传递给其他应用程序。但WCF与序列化的标准定义不同。WCF定义序列化作为将一个对象结构转换成一个XML信息集(XML Infoset)的过程.
2、编码
编码是用来描述将一个WCF消息转换成一个字节数组的规则。这样便于消息在一个传输协议上通信。WCF提供了5种编码格式类型: 二进制,文本,消息转换优化架构(MTOM),JavaScript 对象标记(JSON)和普通原有XML(POX)。
3、WCF中序列化方式
DataContractSerializer:WCF中默认的序列化方法
NetDataContractSerializer:NetDataContractSerializer通过对CLR类型添加额外信息并保存引用来支持类型精确。除了这个,在NetDataContractSerializer和DataContractSerializer之间没有任何不同。
XmlSerilizer:XmlSerializer可以用来帮助将ASP.NET Web 服务转换到WCF中
DataContractJsonSerializer:如果从一个使用JavaScript 的网络应用调用服务序列化会工作的很好,特别是ASP.NET AJAX 和Silverlight 网络应用
4、大数据流
缓冲和流模式。缓冲是WCF中处理消息的默认模式。在这个模式下,整个消息在发送和接收之前被放入内存中
流模式一般在一个绑定或一个传输信道上使用