具體分析WCF數(shù)據(jù)圖解教程
獲取WCF數(shù)據(jù)服務(wù),說(shuō)白了就是獲取服務(wù)的終結(jié)點(diǎn)信息,包括Address、Binding與Contract,簡(jiǎn)稱ABCs。Juval L?wy在《Programming WCF Services》一書(shū)中,下面用比較生動(dòng)的圖片進(jìn)行介紹WCF數(shù)據(jù)。
WCF數(shù)據(jù)可能包含多個(gè)終結(jié)點(diǎn),每個(gè)終結(jié)點(diǎn)相當(dāng)于是通信的入口,客戶端和服務(wù)端通過(guò)終結(jié)點(diǎn)交換信息,如下圖所示:
因而,如果能夠獲取終結(jié)點(diǎn)的詳細(xì)信息,有助于我們更好地剖析服務(wù)的定義、內(nèi)容與執(zhí)行方式。
服務(wù)有兩種方案可以發(fā)布自己的WCF數(shù)據(jù)。一種是基于HTTP-GET協(xié)議提供元數(shù)據(jù);另一種則為元數(shù)據(jù)交換方式,它往往使用一個(gè)專門(mén)的終結(jié)點(diǎn),稱之為元數(shù)據(jù)交換終結(jié)點(diǎn)。元數(shù)據(jù)交換終結(jié)點(diǎn)與其它終結(jié)點(diǎn)相似,仍然包含了地址、綁定與契約,但是使用的服務(wù)契約為WCF提供的接口IMetadataExchange。#t#
實(shí)際上,這兩種發(fā)布WCF數(shù)據(jù)的方式代表了它使用了兩種不同的標(biāo)準(zhǔn)協(xié)議,前者為HTTP/GET請(qǐng)求,后者為WS-MetadataExchange(MEX)。在WCF數(shù)據(jù),以MetadataExchangeClientMode枚舉類型表示這兩種元數(shù)據(jù)交換模式:
- public enum MetadataExchangeClientMode
- {
- MetadataExchange,
- HttpGet
- }