溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

WCF綁定原理是什么

發(fā)布時間:2021-12-15 09:26:32 來源:億速云 閱讀:151 作者:iii 欄目:編程語言

這篇文章主要介紹“WCF綁定原理是什么”,在日常操作中,相信很多人在WCF綁定原理是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”WCF綁定原理是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

WCF綁定屬于WCF基本的技術要素,是WCF進行通信處理的基礎。了解綁定的相關知識,有助于開發(fā)WCF應用程序。因為在不同的業(yè)務需求下,可能對通信方式、協議、消息編碼等多個方面會有不同的要求。在配制、發(fā)布和運行服務時,都需要對綁定進行操作。因而,我們必須掌握WCF內置綁定的相關屬性,熟悉綁定元素的相關配置。此外,在一些高級應用上,我們還要掌握自定義綁定的方式,了解在自定義綁定時,添加綁定元素的方式與順序,了解Binding基類的相關屬性和方法。以及與綁定配置相關的類。WCF綁定(Binding)、契約(Contract)與服務的地址(Address)組合在一起,則形成了終結點(Endpoint)。

Address 是Endpoint的網絡地址,它標記了消息發(fā)送的目的地。Binding描述的是如何發(fā)送消息,例如消息發(fā)送的傳輸協議(如TCP,HTTP),安全(如SSL,SOAP消息安全)。Contract則描述的是消息所包含的內容,以及消息的組織和操作方式,例如是單向,雙向還是請求/響應方式。引入終結點可以說是WCF的一個偉大創(chuàng)舉,通過它使得我們能夠更加容易的發(fā)布和管理服務,尤其是發(fā)布和管理多個服務。每個服務必須至少擁有一個終結點,而客戶端正是通過終結點知道服務的相關信息,例如地址、消息編碼格式、傳輸協議以及服務的內容,然后在進行正確的調用。最特別的是,同一個服務可以定義多個終結點,每個終結點可以是不同的地址、不同的WCF綁定方式,以便于滿足多個客戶端的不同需要。而對于服務的發(fā)布者而言,我們只需要管理終結點的配置,就可以完成對服務的管理,這也為服務的托管提供了便利。

服務契約是WCF的主要處理對象,服務的定義和設置正是通過服務契約實現的。除了了解 ServiceContract和OperationContract的基礎應用之外,還需要比較WCF服務編程與普通的.NET編程之間的區(qū)別,例如服務的繼承與多態(tài)是怎樣實現的。最重要的是如何根據SOA的思想劃分服務的邊界,確定服務的粒度大小,這需要從系統的易用性、可擴展性、性能等多個方面進行權衡。

服務契約中關于操作的定義要受到很多約束,其中最重要的就是對數據的處理,這也是WCF引入數據契約的目的。由于WCF的特殊性,因而我們需要了解一些特殊數據類型的序列化方式,例如泛型類型、集合、DataSet等。約束服務操作定義的還包括對異常的處理,WCF對異常有一套特殊的處理方式,可以根據實際的情況,確定異常消息是否需要進行通信,以及出現異常時,是否要求停止服務實例,或繼續(xù)維持會話。WCF 為消息傳遞提供了非常大的靈活性。它提供了專門的Message類以及相關的讀寫器,例如XmlDictionaryReader和 XmlDictionaryWriter等對消息進行讀寫,這其中包含了對消息版本、編碼格式、消息標頭和正文等的操作。同時,WCF還提供了消息與方法之間的映射。在提供系統的互操作性時,了解WCF的消息傳遞方式很有必要。

根據不同的需求,WCF將實例模式分為 PerCall,Single和PerSession三種方式。通過設置服務行為的InstanceContextMode屬性,來管理服務實例的生存周期,可以簡化開發(fā)人員的工作。我們只需要了解這三種實例模式的特性即可。通常情況下,我建議服務采用PerCall模式,如果需要維持服務與客戶端之間的會話,則可以采用PerSession模式。只有在對性能和可伸縮性沒有太大要求的情況下,才可以采用Single模式。

關于事務處理、并發(fā)處理以及安全,主要都是通過相關的服務行為進行設置和管理。這些內容都是WCF高級應用所必需掌握的內容,尤其對于開發(fā)企業(yè)級應用系統而言。至于隊列服務,主要是利用了消息隊列,以實現系統可以脫機訪問服務,并保持服務狀態(tài)的同步。

到此,關于“WCF綁定原理是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注億速云網站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

wcf
AI