您好,登錄后才能下訂單哦!
這篇文章主要講解了“WCF元數據是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“WCF元數據是什么”吧!
WCF經過長時間的發展,使用它的人越來越多,它的功能也隨之的強大,就我的經驗來處理編程中WCF元數據。應用程序需要獲取服務終結點的元數據,查看是否存在至少一個終結點支持請求的契約。如如果元數據交換終結點是服務支持的,或者基于HTTP-GET協議,那么元數據在這個終結點中就是可用的。當我們使用HTTP-GET協議時,元數據交換的地址就是HTTP-GET 地址(通常,服務的基地址以?wsdl為后綴)。
支持WCF元數據處理的類型
public enum MetadataExchangeClientMode { MetadataExchange, HttpGet } class MetadataSet : ... {...} public class ServiceEndpointCollection : Collection<ServiceEndpoint> {...} public class MetadataExchangeClient { public MetadataExchangeClient(); public MetadataExchangeClient(Binding mexBinding); public MetadataSet GetMetadata(Uri address,MetadataExchangeClientMode mode); //更多成員 } public abstract class MetadataImporter { public abstract ServiceEndpointCollection ImportAllEndpoints(); //更多成員} public class WsdlImporter : MetadataImporter { public WsdlImporter(MetadataSet metadata); //更多成員 } public class ServiceEndpoint { public EndpointAddress Address {get;set;} public Binding Binding {get;set;} public ContractDescription Contract {get;} //更多成員 } public class ContractDescription { public string Name {get;set;} public string Namespace {get;set;} //更多成員 }
MetadataExchangeClient能夠使用與WCF元數據交換關聯的綁定,該元數據交換保存在應用程序的配置文件中。我們也可以將初始化后的綁定實例傳遞給MetadataExchange-Client的構造函數。傳遞的綁定實例包含一些自定義值,例如容量。如果返回的元數據超過默認的接收消息大小時,為了接收更大的消息,就可以設置容量值。
MetadataExchangeClient的GetMetadata()方法接收一個終結點地址實例,它封裝了元數據交換地址以及一個枚舉值,指定了訪問的方式。方法返回的元數據放在一個MetadataSet實例中。我們不需要直接操作 MetadataSet類型,而是創建MetadataImporter類的子類實例,例如WsdlImporter,將原來的元數據傳遞給它的構造函數,然后調用ImportAllEndpoints()方法,獲取在元數據中查找到的所有終結點的集合。終結點以ServiceEndpoint類型方式表示。
感謝各位的閱讀,以上就是“WCF元數據是什么”的內容了,經過本文的學習后,相信大家對WCF元數據是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。