WCF服务调用通过两种常用的方式:

1:一种是借助代码生成工具SvcUtil.exe或者添加服务引用的方式。

2:一种是通过ChannelFactory直接创建服务代理对象进行服务调用。

本文只针对通过SvcUtil.exe工具生成代理类和对应配置文件来讲

一:通过cmd命令行生成代理类和对应配置文件

1.找到如下地址“C:\Windows\System32\cmd.exe”  命令行工具,右键以管理员身份运行(视系统是否为win7 而定) 
2.输入如下命令:

C:\>cd C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin
C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin>SvcUtil.exe /out:clientCode.cs
 /config:\app.config http://localhost:62026/CalculatorService.svc

说明:
              参数:  “C:\ClientCode.cs ” ,是指生成的代理类输出存放到的地址
              参数:  “C:\app.config ” ,是指存放到调用WCF服务程序目录下的配置文件的输出存放地址
              参数:  “http://localhost:81/WCFServiceTest/CNPatentSearchService.svc” ,是指部署到IIS 的WCF服务的地址或者寄宿后的WCF服务的地址
              
3.运行以上命令后,会在"C:\"目录下生成两个文件,ClientCode.cs  和app.config
 (C:\app.config 中已经为我们配置好了WCF服务的根节点等必须的信息,当然,如果您也可以自己对部分参数进行修改)

二:通过将SvcUtil.exe添加到VS外部工具中,然后调用VS中添加后的工具来生成

1:在VS2015添加Svcutil工具

1):在VS2015的 工具菜单中选择外部工具,如下图

2):在弹出窗口中,点击添加,如下图

3):在标题栏输入SvcUtil命令栏选择SvcUtil.exe所在的目录,初始目录栏选择生成的客户端代码和配置文件所放的目录,

选上提示输入参数,不选上退出时关闭,点击确定完成添加。

2:添加好以后,点击VS2015工具菜单下的SvcUtil,如下图

参数栏中输入提供元数据的服务终结点的 URL,如下图

 

点击确定,在弹出的命令行中会显示成功与否和相关信息。如下图

    如果成功的话会生成两个文件,一个是包含了服务端Contract和对应于服务端service的本地代理类的cs文件,一个是WCF配置文件。
    将这两个文件拷到项目中并将output.config改名为app.config就可以了。

参考文章:

http://blog.163.com/ningbao911@126/blog/static/3743053820132133616282/

http://www.cnblogs.com/luowanli/archive/2012/02/24/markeluo_wcfiis.html

http://www.cnblogs.com/zfanlong1314/archive/2012/03/23/2413122.html

 

最新文章

  1. hibernate开发(1)
  2. 微信公众平台实现pc端网站登录
  3. JSON 数组的遍历解析
  4. (原创)monitor Dell Powerconnec 6224 with cacti
  5. FireBug 调试JS入门
  6. 引入css ,使用@import和link的方式
  7. ADO.NET高级应用
  8. RedisPool操作Redis,工具类实例
  9. FFmpeg 结构体学习(六): AVCodecContext 分析
  10. andrroid 测试那点事
  11. 报错:ch.qos.logback.core.joran.spi.JoranException
  12. PhotoshopCC 2017安装破解 + cuterman
  13. C工程 交互 ceph 分布式存储系统
  14. 多线程状态下调用SimpleDateFormat.format()抛出 ArrayIndexOutOfBoundsException 异常
  15. [development][c++] C++构造函数调用构造函数
  16. 提高Bash使用效率的方法
  17. adb -s
  18. SQL Server 2008 清空删除日志文件(瞬间日志变几M)
  19. iOS_2_button控制物体形变
  20. MyCat配置和使用

热门文章

  1. js 页面刷新方法
  2. 在C#中如何将多个rtf文件内容组合在一起用一个rtf文件保存?
  3. 学生信息管理系统(自己辛辛苦苦做了几天,虽然简陋,也凑合吧,bug不算太严重,主要是格式不太很完美)
  4. VideoToolbox硬件编解码H.264视频流错误码
  5. MySql无限分类数据结构--预排序遍历树算法
  6. Nginx限制访问速率和最大并发连接数模块--limit (防止DDOS攻击)
  7. android sqlite datetime demo
  8. Java类额应用
  9. Java学习基础2
  10. 如何在EF CodeFirst中使用唯一约束(Unique)