千家信息网

WCF契约查询ConsoleApplication应用实例分析

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍"WCF契约查询ConsoleApplication应用实例分析",在日常操作中,相信很多人在WCF契约查询ConsoleApplication应用实例分析问题上存在疑惑,小编查阅了各
千家信息网最后更新 2026年11月02日WCF契约查询ConsoleApplication应用实例分析

这篇文章主要介绍"WCF契约查询ConsoleApplication应用实例分析",在日常操作中,相信很多人在WCF契约查询ConsoleApplication应用实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"WCF契约查询ConsoleApplication应用实例分析"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

当我们拿到一个服务地址的时候该如何知道这个服务所提供的服务呢?如果是您自己开发的Service,这一点或许不需要兴师动众,但是如果是别人开发的服务,那么了解服务中的Endpoint将显得格外重要,本文将利用对[WCF]继承中所构建的服务代码进行分析。

熟悉Web Service开发的程序员对添加服务引用应该并不陌生。在创建某个服务的客户端程序时,并不需要从头开始编写客户端的底层通信和交互代码,可以通过输入服务地址来添加服务来让Visual Studio生成客户端代理,这样访问服务就像访问本地组件一样,而不需要去关心通信的细节。如果创建的客户端程序项目和服务程序项目处在同一个解决方案里(很多开发者在开发服务时,也会同步开发客户端程序),还可以通过Visual Studio来帮助我们"发现(Discovery)"服务,并添加服务引用。

打开其程序代码添加一个WCF契约查询ConsoleApplication应用程序,新建程序,WCF契约查询代码如下:

  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<ContractDescription> 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++; } } } }

这个项目我们不需要Add ServiceReference,因为我们只需分析那个"地址"所提供给我们的究竟是什么样的服务,而不是要去使用服务中的WCF契约查询

到此,关于"WCF契约查询ConsoleApplication应用实例分析"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

服务 程序 契约 查询 分析 开发 应用 客户 实例 实例分析 代码 客户端 学习 地址 项目 帮助 可以通过 更多 通信 实用 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广东万易互联网科技有限公司惠州分公司 互联网科技公司经营范围 中关村互联网科技集团 北京互联网科技有限公司 互联网未来科技 广西互联网科技公司 天下捷融互联网科技 国外互联网科技网站 互联网科技股午盘股票涨跌 科技大学互联网专业好不好 小米互联网科技园设置 成都互联网科技公司100强 茂名市互联网科技产业园 宁夏众和广鑫互联网科技有限公司 世界互联网科技公司市值排名 如何创新互联网科技 互联网科技平台产品运营 同城互联网络科技 美国五大互联网科技公司市值多少 六子台科技互联网展会 互联网科技园 哈尔滨大商圈互联网科技有限公司 中国 科技 互联网 鑫亿盛互联网科技 天津摩尔互联网科技 太原新华互联网科技学校怎么样 汉立互联网科技有限公司联系电话 江苏南京365互联网科技 互联网之后的科技是什么 下一代互联网重大应用科技园
0