第5章 消息
抽象类型System.ServiceModel.Channels.Message是Microsoft WindowsCommunication Foundation(WCF)里通信的基本单位。虽然代码没有直接与Message对象交互,但WCF基础结构也在背后忙于创建、发送、接收或其他处理Message对象的工作。
5.1 Message类型介绍
Message引用类型是WCF应用对SOAP消息的抽象。Message类型构建于XML Infoset之上。从功能上讲,Message类型实际是对数据存储的一个包装,并且这个数据存储就是XML Infoset。
Message类型的结构可以轻易地满足非Soap类型的XML应用系统。Message类型能通过简单地去除SOAP消息结构而发送POX消息(Plain Old XML messages)。
在整个生命周期里,传输到其他消息参与者之前,Message对象必须经过几次转换。从发送者角度来看,这个转换包含两步:序列化和编码。Message序列化是把Message实例转换XML Infoset,编码是把XML Infoset转换为特定的数据格式。从接收者角度来看,这个转换正好与发送者相反。换句话说,接收者必须反编码接收到的数据为Infoset,然后再序列化Infoset为一个Message实例。
Message对象模型更多的是专注于Message的序列化和反序列化,它们中的绝大部分影响了WCF应用程序编程接口(API)里的其他类型。