WCF服务引用的两种方法

一、添加服务引用

在项目中单击右键,选择添加服务引用

411c60fb43a96a9d61cbae572f4454e8.png

出现如下的对话框

5705dabd0decfcd4fec1f66de100ad91.png

一般情况下,填写完下面的对话框就可以点击确定,生成代理类了,但有的时候,我们需要对代理类对特殊的设置,比如我们要生成异步操作,要更改字典集合为数组等,这时候可以点击上图中左下角的高级按钮。出现如下的对话框:

27bcaf1dd180fb7ec18ecd2e753711cc.png

经过上面的处理,就能生成代理类了,但是通过此种方法产生代理类存在一个问题,这个问题和 WCF联系不大,但还是比较重要的,比如服务端是java开发的,且采用的Soap1.1协议,那么采用上面这种方法,将无法产生匹配soap1.1的代 理类,导致在调用服务的时候,出现如下的异常:

SOAP   版本可能不匹配:   出现意外的   Envelope   命名空间   http://schemas.xmlsoap.org/wsdl/。应为   http://schemas.xmlsoap.org/soap/envelope/

这个是我在xml web service中的添加服务中发现的,新版本的添加服务引用仍热没有指定协议的设置。在xml web service中,解决上面问题的办法是采用wsdl.exe,然后指定参数/protocol:SOAP

参考地址:https://www.cnblogs.com/systemnet123/archive/2013/04/24/3041192.html

二、生成代理类

2.1电脑启动菜单处,以管理员身份运行下面的选项:

d7d51eb50a8843e98fb55e6068d89115.png

2.2点击开发人员命令提示符框:

输入内容:svcutil http://192.168.173.157:51688/WCFServices/ /out:D://Work//WcfServices.cs /targetClientVersion:Version35 /syncOnly

79922f01a9dc46ff932842985a9cb286.png

2.3生成成功会输出内容:

正在生成文件...
D:\Work\WcfServices.cs
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\output.config

2.4说明

参数:  “D://Work//WcfServices.cs”   ,是指生成的代理类输出存放到的地址
参数:  “D://Work//output.config”   ,是指存放到调用WCF服务程序目录下的配置文件的输出存放地址
参数:  “http://192.168.173.157:51688/WCFServices/”   ,是指WCF服务的地址

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wangnaisheng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值