WCF Message類應用基礎講解
要想充分的掌握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類的相關概念。