av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

演示W(wǎng)CF契約查詢(xún)ConsoleApplication應(yīng)用實(shí)例

WCF還是比較常用的,于是我研究了一下WCF契約查詢(xún),在這里拿出來(lái)和大家分享一下,希望對(duì)大家有用。當(dāng)我們拿到一個(gè)服務(wù)地址的時(shí)候該如何知道這個(gè)服務(wù)所提供的服務(wù)呢?如果是您自己開(kāi)發(fā)的Service,這一點(diǎn)或許不需要興師動(dòng)眾,但是如果是別人開(kāi)發(fā)的服務(wù),那么了解服務(wù)中的Endpoint將顯得格外重要,本文將利用對(duì)[WCF]繼承中所構(gòu)建的服務(wù)代碼進(jìn)行分析。

熟悉Web Service開(kāi)發(fā)的程序員對(duì)添加服務(wù)引用應(yīng)該并不陌生。在創(chuàng)建某個(gè)服務(wù)的客戶(hù)端程序時(shí),并不需要從頭開(kāi)始編寫(xiě)客戶(hù)端的底層通信和交互代碼,可以通過(guò)輸入服務(wù)地址來(lái)添加服務(wù)來(lái)讓Visual Studio生成客戶(hù)端代理,這樣訪問(wèn)服務(wù)就像訪問(wèn)本地組件一樣,而不需要去關(guān)心通信的細(xì)節(jié)。如果創(chuàng)建的客戶(hù)端程序項(xiàng)目和服務(wù)程序項(xiàng)目處在同一個(gè)解決方案里(很多開(kāi)發(fā)者在開(kāi)發(fā)服務(wù)時(shí),也會(huì)同步開(kāi)發(fā)客戶(hù)端程序),還可以通過(guò)Visual Studio來(lái)幫助我們“發(fā)現(xiàn)(Discovery)”服務(wù),并添加服務(wù)引用。

打開(kāi)其程序代碼添加一個(gè)WCF契約查詢(xún)ConsoleApplication應(yīng)用程序,新建程序,WCF契約查詢(xún)代碼如下:

 
 
  1. using System;   
  2. using System.ServiceModel.Description;   
  3. namespace ContractQueriesClient   
  4. {   
  5. class Program   
  6. {   
  7. static void Main(string[] args)   
  8. {   
  9. // ?WSDL   
  10. //string mexAddress = "http://localhost:8080/ScientificCalculatorService?WSDL";   
  11. //MetadataExchangeClient MEXClient = new MetadataExchangeClient(new Uri(mexAddress), MetadataExchangeClientMode.HttpGet);   
  12. // /MEX string mexAddress = "http://localhost:8080/ScientificCalculatorService/mex";   
  13. MetadataExchangeClient MEXClient = new MetadataExchangeClient(new Uri(mexAddress), MetadataExchangeClientMode.MetadataExchange);   
  14. MetadataSet metadata = MEXClient.GetMetadata();   
  15. MetadataImporter importer = new WsdlImporter(metadata);   
  16. ServiceEndpointCollection endpoints = importer.ImportAllEndpoints();   
  17. int endpointCounter = 0;   
  18. foreach (ServiceEndpoint endpoint in endpoints)   
  19. { Console.WriteLine("endpoints[{0}].Name = {1}", endpointCounter, endpoint.Name);   
  20. Console.WriteLine("endpoints[{0}].Contract.Namespace = {1}", endpointCounter, endpoint.Contract.Namespace);   
  21. Console.WriteLine("endpoints[{0}].Contract.Name = {1}", endpointCounter, endpoint.Contract.Name); endpointCounter++; } 
    System.Collections.ObjectModel.Collection contracts = importer.ImportAllContracts();   
  22. int contractCounter = 0; foreach (ContractDescription contract in contracts)   
  23. { Console.WriteLine("contracts[{0}].Namespace = {1}", contractCounter, contract.Namespace);   
  24. Console.WriteLine("contracts[{0}].Name = {1}", contractCounter, contract.Name); contractCounter++; } } } } 

這個(gè)項(xiàng)目我們不需要Add ServiceReference,因?yàn)槲覀冎恍璺治瞿莻€(gè)“地址”所提供給我們的究竟是什么樣的服務(wù),而不是要去使用服務(wù)中的WCF契約查詢(xún)


網(wǎng)站欄目:演示W(wǎng)CF契約查詢(xún)ConsoleApplication應(yīng)用實(shí)例
URL網(wǎng)址:http://uogjgqi.cn/article/djihcdd.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流