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

 

WCF通过SVCUtil.exe生成客户端代理类和配置文件(转)的更多相关文章

  1. WCF中可以使用SVCUtil.exe生成客户端代理类和配置文件

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

  2. wcf生成客户端代理类步骤及语句

    通过svcutil.exe工具生成客户端代理类和客户端的配置文件 .在运行中输入cmd打开命令行 ()cd C:\Program Files (x86)\Microsoft SDKs\Windows\ ...

  3. 解析利用wsdl.exe生成webservice代理类的详解

    利用wsdl.exe生成webservice代理类:根据提供的wsdl生成webservice代理类1.开始->程序->Visual Studio 2005 命令提示2.输入如下红色标记部 ...

  4. 利用wsdl.exe生成webservice代理类

    通常要手动生成WebService代理类需要把一句生成语句,如 wsdl.exe /l:cs /out:D:\Proxy_UpdateService.cs  http://localhost:1101 ...

  5. SvcUtil.exe工具生成客户端代理类

    1.以管理员身份运行vs下命令工具: 2.运行代码示例:C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin>svcutil http: ...

  6. 终于解决:升级至.NET 4.6.1后VS2015生成WCF客户端代理类的问题

    在Visual Studio 2015中将一个包含WCF引用的项目的targetFramework从4.5改为4.6.1的时候,VS2015会重新生成WCF客户端代理类.如果WCF引用配置中选中了&q ...

  7. WCF生成客户端代理对象的两种方法的解释

    最近在封装WCF,有一些很好的实践就记录下来,大家可以放心使用,所有代码都已经调试过.如果有高手可以大家探讨一下. 在WCF中有两种不同的方法可以用于创建客户端服务对象,他们分别为: 1. 代理构造法 ...

  8. Visual Studio生成webservice代理类

    首先点击 vs菜单栏->工具 ,选择 外部工具, 在弹出的窗口中点击 添加, 然后在“标题”行中输入"WSDL生成代理类", "命令"行中输入" ...

  9. Unity生成WebService代理类

    普通的.net程序中,如果我们想引用webService,只需在项目中右键选择添加服务引用,然后在地址栏中输入Webservice地址,单击“转到”按钮,找到服务后再单击确定,Visual Studi ...

随机推荐

  1. java面向对象基础

    1.对象:用来描述客观事物的一个实体,由一组属性和方法构成. 属性:对象具有的各种特征.(成员变量) 方法:对象执行的操作. 2.类:一组具有相同属性和方法的对象的一个归纳类型.对象是类的一个具体表现 ...

  2. .net 中select和where的区别

    Select(p=>p.ID==id) 这里选择的结果是通过p,访问迭代器,然后选取的是p.ID==id的结果,选择到的是bool对象 Where(p=>p.ID==id) 这里是过滤,p ...

  3. 洛谷P3379 【模板】最近公共祖先(LCA)

    P3379 [模板]最近公共祖先(LCA) 152通过 532提交 题目提供者HansBug 标签 难度普及+/提高 提交  讨论  题解 最新讨论 为什么还是超时.... 倍增怎么70!!题解好像有 ...

  4. bond汇总

    七种bond模式说明: 第一种模式:mod=0 ,即:(balance-rr) Round-robin policy(平衡抡循环策略)特点:传输数据包顺序是依次传输(即:第1个包走eth0,下一个包就 ...

  5. Flex使用Blazeds与Java交互及自定义对象转换详解-DATAGRID读取ORACLE数据

    http://www.cnblogs.com/RocD-DuPeng/articles/1751040.html 一.建立Flex与Java交互的工程. 本文中讲到的交互是利用Blazeds的,因为这 ...

  6. JAVA初学(1):值类型和引用类型的区别

    JAVA值类型和引用类型的区别(转)                                                          [定义] 引用类型表示你操作的数据是同一个,也就 ...

  7. highcharts 柱状图 动态加载

    highcharts柱状图动态加载 (1):导入样式 <script type="text/javascript" src="<%=request.getCo ...

  8. ADOConnectoin事务和存储过程中的Begin tran commit

    一直以来我都是在存储过程中使用事务 create proc usp_proc begin begin  tran ..... commit end 那么我现在问一个问题,如果在BCB的代码中写这样的代 ...

  9. MySQL中存储过程+事件的使用方法

    一.背景 将界面操作日志存储在MySQL数据库中的operationlog表中,如果该表不能自动备份,表中的数据会越来越多,影响速度.可以定期将表中数据备份到另外一个表中来解决. 二.解决方案 1.使 ...

  10. int数组转string数组和int数组转string中间用逗号隔开

    //int 数组转string数组 ,,,}; string result=test.Select(i => i.ToString()).ToArray(); //int 数组转 string中 ...