您好,登錄后才能下訂單哦!
這篇文章主要介紹“WCF基礎知識有哪些”,在日常操作中,相信很多人在WCF基礎知識有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”WCF基礎知識有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
WCF基礎功能都放在一個單獨的程序集System.ServiceModel.dll中。WCF的幾個最重要的技術元素包括:綁定、契約、端點。
如前所述,綁定封裝了通道的組成順序與處理細節,它直接決定了WCF的通信方式,消息的編碼方式,通道的協議,消息傳遞的可靠性以及安全等內容。通過使用綁定,我們就無需了解消息在WCF通道中的實現細節,從而簡化程序員的開發。正是因為此,WCF為開發人員提供了多個內置綁定,基本上涵蓋了WCF應用的大部分場景。以下是Aaron Skonnard在《WCF深度綁定》一文中列舉的內置綁定:
綁定類名稱 | 傳輸 | 消息編碼 | 消息版本 | 安全模式 | 可靠消息傳送 | 事務流(默認情況下禁用) |
BasicHttpBinding | HTTP | 文本 | SOAP 1.1 | 無 | 不支持 | 不支持 |
WSHttpBinding | HTTP | 文本 | SOAP 1.2 WS-Addressing 1.0 | 消息 | 禁用 | WS-AtomicTransactions |
WSDualHttpBinding | HTTP | 文本 | SOAP 1.2 WS-Addressing 1.0 | 消息 | 啟用 | WS-AtomicTransactions |
WSFederationHttpBinding | HTTP | 文本 | SOAP 1.2 WS-Addressing 1.0 | 消息 | 禁用 | WS-AtomicTransactions |
NetTcpBinding | TCP | 二進制 | SOAP 1.2 | 傳輸 | 禁用 | OleTransactions |
NetPeerTcpBinding | P2P | 二進制 | SOAP 1.2 | 傳輸 | 不支持 | 不支持 |
NetNamedPipesBinding | 命名管道 | 二進制 | SOAP 1.2 | 傳輸 | 不支持 | OleTransactions |
NetMsmqBinding | MSMQ | 二進制 | SOAP 1.2 | 消息 | 不支持 | 不支持 |
MsmqIntegrationBinding | MSMQ | 不支持(使用 WCF 之前的序列化格式) | 不支持 | 傳輸 | 不支持 | 不支持 |
CustomBinding | 您決定 | 您決定 | 您決定 | 您決定 | 您決定 | 您決定 |
每種綁定對應不同的傳輸協議、消息編碼格式和版本以及安全、可靠性和事務模式。WCF基礎功能也提供了擴展綁定的方式,例如通過CustomBinding或者定義派生與Binding的類。
WCF 的契約包括服務契約、數據契約和消息契約(特別的,還包括了錯誤契約,用于異常的處理)。其中服務契約為面向服務應用程序的核心,通過它可以定義服務。數據契約則為服務所要傳遞的數據。由于服務的調用需要跨進程或機器進行通信,就需要服務數據必須能夠被序列化和反序列化。雖然.NET本身提供了數據的序列化功能,但WCF的數據契約更加符合服務數據的定義習慣。至于消息契約,則可以將服務數據定義為消息,包括XML文本格式、MTOM(消息傳輸優化機制)格式和二進制格式。
到此,關于“WCF基礎知識有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。