WCF消息编码器相关应用代码解读

WCF作为一个功能强大的.NET Framework 3.5重要组成部件,承担者包括通信在内容的多项功能的实现。其中,WCF消息编码器通过类型MessageEncoder表示,MessageEncoder是定义在System.ServiceModel.Channels命名空间下的一个抽象类。

创新互联建站是专业的西夏网站建设公司,西夏接单;提供成都网站建设、成都做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行西夏网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

从下面的定义中可以看出,MessageEncoder主要包含两种类型的操作:读消息和写消息,分别通过ReaderMessage和WriteMessage方法实现。此外,两个额外的方法,GetProperty用于获取MessageEncoder相关的一些属性,IsContentTypeSupported用于判断MessageEncoder是否支持某种类型的MIME类型。

 
 
 
  1. public abstract class MessageEncoder   
  2. {   
  3. //其他成员   
  4. public virtual T GetProperty() where T : class;   
  5. public virtual bool IsContentTypeSupported(string contentType);   
  6. public Message ReadMessage(ArraySegment buffer, 
    BufferManager bufferManager);   
  7. public Message ReadMessage(Stream stream, int maxSizeOfHeaders);   
  8. public abstract Message ReadMessage(ArraySegment buffer,
     BufferManager bufferManager, string contentType);   
  9. public abstract Message ReadMessage(Stream stream, 
    int maxSizeOfHeaders, string contentType);   
  10. public abstract void WriteMessage(Message message, Stream stream);   
  11. public ArraySegment WriteMessage(Message message, 
    int maxMessageSize, BufferManager bufferManager);   
  12. public abstract ArraySegment WriteMessage(Message message, 
    int maxMessageSize, BufferManager bufferManager, int messageOffset);   
  13. public abstract string ContentType { get; }   
  14. public abstract string MediaType { get; }   
  15. public abstract MessageVersion MessageVersion { get; }   

与上面介绍的3种类型的XmlDictionaryWriter/XmlDictionaryReader相对应,WCF消息编码器同样定义了MessageEncoder:TextMessageEncoder、BinaryMessageEncoder和MtomMessageEncoder三种MessageEncoder,它们分别封装了XmlUTF8TextWriter/XmlUTF8TextReader、XmlBinaryWriter/XmlBinaryReader和XmlMtomWriter/XmlMtomReader。

WCF定义了3个相应的工厂类:TextMessageEncoderFactory、BinaryMessageEncoderFactory和MtomMessageEncoderFactory用于创建相应的MessageEncoder。它们共同继承一个抽象类:System.ServiceModel.Channels.MessageEncoderFactory。通过只读属性Encoder得到相应的MessageEncoder。

 
 
 
  1. public abstract class MessageEncoderFactory   
  2. {   
  3. //其他成员   
  4. public abstract MessageEncoder Encoder { get; }   

以上就是我们为大家介绍的WCF消息编码器相关内容。

【编辑推荐】

  1. WCF通道形状相关内容深度剖析
  2. LitwareHR使用WCF正确实现方法详解
  3. WCF接口方法如何进行正确调用
  4. WCF Stream实际应用功能体验
  5. WCF行为扩展正确内容应用技巧分享

网站栏目:WCF消息编码器相关应用代码解读
浏览路径:http://www.shufengxianlan.com/qtweb/news27/214327.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联