掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
WCF作為一個(gè)功能強(qiáng)大的.NET Framework 3.5重要組成部件,承擔(dān)者包括通信在內(nèi)容的多項(xiàng)功能的實(shí)現(xiàn)。其中,WCF消息編碼器通過(guò)類型MessageEncoder表示,MessageEncoder是定義在System.ServiceModel.Channels命名空間下的一個(gè)抽象類。

創(chuàng)新互聯(lián)建站是專業(yè)的西夏網(wǎng)站建設(shè)公司,西夏接單;提供成都網(wǎng)站建設(shè)、成都做網(wǎng)站,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行西夏網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
從下面的定義中可以看出,MessageEncoder主要包含兩種類型的操作:讀消息和寫消息,分別通過(guò)ReaderMessage和WriteMessage方法實(shí)現(xiàn)。此外,兩個(gè)額外的方法,GetProperty
- public abstract class MessageEncoder
- {
- //其他成員
- public virtual T GetProperty
() where T : class; - public virtual bool IsContentTypeSupported(string contentType);
- public Message ReadMessage(ArraySegment
buffer,
BufferManager bufferManager);- public Message ReadMessage(Stream stream, int maxSizeOfHeaders);
- public abstract Message ReadMessage(ArraySegment
buffer,
BufferManager bufferManager, string contentType);- public abstract Message ReadMessage(Stream stream,
int maxSizeOfHeaders, string contentType);- public abstract void WriteMessage(Message message, Stream stream);
- public ArraySegment
WriteMessage(Message message,
int maxMessageSize, BufferManager bufferManager);- public abstract ArraySegment
WriteMessage(Message message,
int maxMessageSize, BufferManager bufferManager, int messageOffset);- public abstract string ContentType { get; }
- public abstract string MediaType { get; }
- public abstract MessageVersion MessageVersion { get; }
- }
與上面介紹的3種類型的XmlDictionaryWriter/XmlDictionaryReader相對(duì)應(yīng),WCF消息編碼器同樣定義了MessageEncoder:TextMessageEncoder、BinaryMessageEncoder和MtomMessageEncoder三種MessageEncoder,它們分別封裝了XmlUTF8TextWriter/XmlUTF8TextReader、XmlBinaryWriter/XmlBinaryReader和XmlMtomWriter/XmlMtomReader。
WCF定義了3個(gè)相應(yīng)的工廠類:TextMessageEncoderFactory、BinaryMessageEncoderFactory和MtomMessageEncoderFactory用于創(chuàng)建相應(yīng)的MessageEncoder。它們共同繼承一個(gè)抽象類:System.ServiceModel.Channels.MessageEncoderFactory。通過(guò)只讀屬性Encoder得到相應(yīng)的MessageEncoder。
- public abstract class MessageEncoderFactory
- {
- //其他成員
- public abstract MessageEncoder Encoder { get; }
- }
以上就是我們?yōu)榇蠹医榻B的WCF消息編碼器相關(guān)內(nèi)容。
【編輯推薦】

我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流