VC2010及以后版本调用WebService接口的方法

近日在项目中需要频繁调用一个webservice接口,以达到增加数据做性能测试的目的。最开始想的是直接用LR调用20W次,结果在跑的时候发现LR11版本和12版本均会出现调用几百次后内存崩溃的情况,且单线程运行速度很慢,于是就考虑使用VC多线程来调用此接口的办法。
兴冲冲的打开VC2015,百度之后基本上介绍的方法都是直接添加服务引用(WebReference),但是突然发现VC2015的引用页面根本就没有服务引用,不死心,分别试了VC2010/2013,均发现没有(最新的VC2017);最后在VC2005上发现了此引用按钮,测试后可以再2005上引入webservice接口。
那么在VC2005之后,没有服务器引用的情况下,如何调用webservice接口接口呢?经过研究后发现,原来Visual Studio 2008以及以后版本中,微软停止了非托管C++的直接WebService引用。ATL Server代码已经托管到开源网站上,我们可以找到ATL Server的源代码,编译出Sproxy.exe,这个工具可以根据wsdl文件来生成非托管的代理类。
具体方法如下:

1.下载ATL_Server源代码,编译代码中的SProxy工程形成sproxy.exe。代码下载地址为:http://atlserver.codeplex.com/,需要注意的是,此工程需要使用VC2005打开。
2.将下载好的ATL_Server源代码中的include文件夹完整的拷贝到目前使用版本的VC的include文件夹中,例如:VC2015对应的文件夹为:

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值