WCF服务调用通过两种常用的方式:
1:一种是借助代码生成工具SvcUtil.exe或者添加服务引用的方式。
2:一种是通过ChannelFactory直接创建服务代理对象进行服务调用。
本文只针对通过SvcUtil.exe工具生成代理类和对应配置文件来讲
一:通过cmd命令行生成代理类和对应配置文件
1.找到如下地址“C:\Windows\System32\cmd.exe” 命令行工具,右键以管理员身份运行(视系统是否为win7 而定)
2.输入如下命令:
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