掃二維碼與項目經理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網交流
WCF還是比較常用的,于是我研究了一下WCF元數(shù)據交換,在這里拿出來和大家分享一下,希望對大家有用。知道了WCF服務元數(shù)據的概念后,我們就能理解為什么要暴露服務的元數(shù)據。WCF服務的元數(shù)據描述服務的核心信息,客戶端需要了解這些特征以便與該服務進行通信。

創(chuàng)新互聯(lián)網站建設由有經驗的網站設計師、開發(fā)人員和項目經理組成的專業(yè)建站團隊,負責網站視覺設計、用戶體驗優(yōu)化、交互設計和前端開發(fā)等方面的工作,以確保網站外觀精美、成都做網站、網站制作易于使用并且具有良好的響應性。
#T#要想實現(xiàn)異構平臺或者系統(tǒng)之間的通信,以前的技術是使用Web Service.因為其具有自描述、可擴展、與平臺無關等優(yōu)勢。客戶端只需要根據Web Service地址,便可獲取服務的相關信息,反序列話本地的代碼,通過服務代理進行服務的調用。
WCF服務主要特性之一就是跨平臺的服務交互。而暴露服務元數(shù)據的重要原因就是解決了異構客戶端服務交互的關鍵問題。 元數(shù)據基于XML,自描述。客戶端可以根據服務的元數(shù)據反序列換生成本地代碼,無論是c#,vb還是java語。WCF服務有兩種方案可以發(fā)布自己的元數(shù)據。一種是基于HTTP-GET協(xié)議提供元數(shù)據;另一種則為MEX終結點元數(shù)據交換方式,和WCF服務一樣使用一個專門的終結點,稱為MEX元數(shù)據交換終結點。
- System.ServiceModel.Description命名空間里MetadataExchangeClientMode枚舉類型里進行了定義
- using System;
- namespace System.ServiceModel.Description
- {
- // Summary:
- // Specifies the exchange mode used to obtain metadata.
- public enum MetadataExchangeClientMode
- {
- // Summary:
- // A WS-Transfer Get request is used.
- MetadataExchange = 0,
- //
- // Summary:
- // An HTTP GET request is used.
- HttpGet = 1,
- }
- }
WCF元數(shù)據交換終結點與其它終結點相似,包含自己的地址(Address)、綁定(通信協(xié)議Binding)、契約(服務、操作、數(shù)據Contract),但是使用的服務契約為WCF提供的接口IMetadataExchange。兩種發(fā)布元數(shù)據的方式使用了兩種不同的標準網絡傳輸協(xié)議,前者為 HTTP/GET請求,后者為WS-MetadataExchange(MEX:WCF支持的基本綁定HTTP、HTTPS、TCP、IPC等綁定協(xié)議)。啟用WCF元數(shù)據交換服務后,必須顯式配置元數(shù)據交換行為。

我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網交流