要想充分的掌握WCF这一工具的应用,首先需要对相关编程语言有一个深入的了解。在这里我们将会为大家介绍一下其中一个比较基础的WCF Message类的基本应用方式,打击可以从中了解到一些知识。#t#
绝大多数情况下,我们都不会直接去使用WCF Message类,而是仅仅使用WCF服务编程模型中的数据契约、消息契约来描述输入或者输出消息。但在某些高级应用中,我们需要对Message类进行编程,如需要从别处创建输出消息的内容,而不是序列化.NET Framework类型,如可能从磁盘上的某个文件来创建输出消息,在这种情况下,简单的使用WCF中服务编程模型已经不能满足需要,而需要针对Message类进行编程。
简单来说,WCF Message类是一个通用的数据容器,在本质上它完全模拟SOAP消息正文以及消息标头和属性的集合,另外Message类中提供了一系列的方法用来创建消息、读写消息正文以及标头和属性的集合。它的定义如下所示:
- public abstract class Message : IDisposable
- {
- // 标头集合
- public abstract MessageHeaders Headers { get; }
- protected bool IsDisposed { get; }
- public virtual bool IsEmpty { get; }
- public virtual bool IsFault { get; }
- // 属性集合
- public abstract MessageProperties Properties { get; }
- public MessageState State { get; }
- // 消息版本
- public abstract MessageVersion Version { get; }
- public void Close();
- public MessageBuffer CreateBufferedCopy(int maxBufferSize);
- public static Message CreateMessage(MessageVersion version, string action);
- // 获取正文
- public T GetBody<T>();
- public void WriteBody(XmlWriter writer);
- public void WriteMessage(XmlWriter writer);
- public void WriteStartBody(XmlWriter writer);
- public void WriteStartEnvelope(XmlDictionaryWriter writer);
- // 更多成员
- }
以上就是我们为大家介绍WCF Message类的相关概念。