成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

WCF編碼機制幾種不同方式介紹

開發 開發工具
我們定義了三種不同的WCF編碼機制,其中包括Text、Binary和MTOM。我們將會在這里針對這一內容做一個詳細的介紹。

我們今天會通過這篇文章介紹的內容繼續為大家講解一些有關WCF中的重要內容。主要就是針對WCF編碼機制的相關內容進行一個詳細的闡述,希望能給大家帶來一些幫助,提高編程能力。#t#

在客戶端,以方法調用形式體現的服務訪問通過ClientMessageFormatter生成請求消息。該請求消息最終通過綁定對象從服務模型層轉到信道層。我們說綁定是綁定元素的有序組合,對于所有類型的綁定來說,有兩個綁定類型是必不可少的:MessageEncodingBindingElement和TransportBindingElement。而消息的編碼由這兩個綁定元素共同完成。

3種WCF編碼機制方式:Text、Binary和MTOM;對應3種不同的XmlDictionaryWriter/XmlDictionaryReader:XmlUTF8TextWriter/ XmlUTF8TextReader、XmlBinaryWriter/XmlBinaryReader和XmlMtomWriter/XmlMtomReader;3種XmlDictionaryWriter/XmlDictionaryReader又對應著3種MessageEncoder:TextMessageEncoder、BinaryMessagEncoder和MtomMessageEncoder;這3種不同的MessageEncoder又具有它們各自的MessageEncoderFactory:TextMessageEncoderFactory、BinaryMessagEncoderFactory和MtomMessageEncoderFactory。最終這3種MessageEncoderFactory被3種相應的MessageEncodingBindingElement用于進行具體的編碼。MessageEncodingBindingElement通過CreateMessageEncoderFactory得到相應的MessageEncoderFactory。

  1. public abstract class MessageEncodingBindingElement : BindingElement  
  2. {   
  3. //其他成員   
  4. public abstract MessageEncoderFactory CreateMessageEncoderFactory();  
  5.  public override T GetProperty<T>(BindingContext context) 
  6. where T: class; public abstract MessageVersion MessageVersion   
  7. {   
  8. get;   
  9. set;   
  10. }   


對應著3種不同的MessageEncoderFactory,WCF定義了3種不同的MessageEncodingBindingElement,它們分別是:TextMessageEncodingBindingElement、BinaryMessageEncodingBindingElement和MtomMessageEncodingBindingElement。

在介紹綁定的時候,我們說BindingElement創建相應的ChannelFactory/ChannelListener,而ChannelFactory/ChannelListener最終創建相應的Channel進行消息的處理。這種說法是不準確的,并不是所有的BindingElement都會創建Channel,實際上沒有用于專門編碼的Channel,具體的編碼工作是TransportChannel完成的。

當通過綁定對象創建信道棧的時候,MessageEncodingBindingElement的BuildChannelFactory/BuildChannelListener方法首先被調用,MessageEncodingBindingElement會創建相應的MessageEncoderFactory對象,將其置于當前的BindingContext中。然后TransportBindingElement的BuildChannelFactory/BuildChannelListener方法被調用,并創建TransportChannelFactory/TransportChannelListener對象,TransportChannelListener和TransportChannelFactory創建TransportChannel用于請求監聽和消息發送,與此同時TransportChannel會將MessageEncoderFactory從BindingContext獲取下來用于WCF編碼機制的解碼和編碼。

責任編輯:曹凱 來源: CSDN
相關推薦

2010-03-01 15:21:57

WCF死鎖

2010-02-23 14:24:50

WCF狀態保存

2010-02-23 09:58:21

WCF客戶端驗證

2010-07-16 13:41:08

SQL Serverl

2009-07-06 18:23:32

JSP文件下載

2010-02-04 10:33:40

C++異常傳遞

2009-11-09 17:55:13

WCF緩存

2009-12-22 15:55:10

WCF事務

2010-02-22 14:18:34

WCF服務驗證

2009-12-22 15:14:33

WCF調用

2020-04-24 16:09:57

UbuntuLinux內核

2020-04-20 14:30:54

UbuntuLinux內核

2010-02-04 15:41:10

C++內存管理

2010-03-02 16:09:53

WCF框架

2010-02-04 10:13:35

C++獲得系統時間

2010-02-22 14:09:08

WCF Dispose

2010-02-23 13:46:37

WCF數據契約

2010-03-01 14:08:53

WCF編碼器

2019-12-09 10:30:42

Windows 10帳戶Windows

2010-02-05 10:30:02

C++操作符重載
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久午夜精品 | 欧美激情精品久久久久久 | 国产精品久久久久一区二区三区 | 日本五月婷婷 | ririsao久久精品一区 | 日本成人区 | 成人av电影在线 | 999精品网 | 中文字幕动漫成人 | 伊人精品一区二区三区 | 中文字幕高清免费日韩视频在线 | 国产视频第一页 | 欧美日韩高清一区 | 国产乡下妇女做爰 | 国产高清在线精品 | 99精品视频在线观看 | 国产九九九| 久草网站| 91精品国产91久久久久游泳池 | 91精品综合久久久久久五月天 | 国产精品视频一区二区三区四区国 | 国产99视频精品免费播放照片 | 精品婷婷 | 国产一区二区毛片 | 拍真实国产伦偷精品 | cao视频 | 精品国产欧美一区二区三区成人 | 国产91在线播放 | 欧美1区 | 男女午夜免费视频 | av黄色免费在线观看 | 午夜精品一区二区三区在线观看 | 最近中文字幕第一页 | 五月婷亚洲| 久久精品国产一区二区电影 | 蜜桃毛片 | xx视频在线| 亚洲欧美在线观看 | 91人人视频在线观看 | 亚洲欧美在线视频 | 亚洲精品久久久一区二区三区 |