虚拟机中部署的匿名访问的WebService,支持简单的加减乘除操作。本文记录在WebApi中调用该WebService的方式。
VS2022创建WebApi项目,然后在解决方案资源管理器的Connected Services节点点右键,选择管理连接的服务菜单。
点击下图圈红处的加号按钮。
在弹出的添加服务引用窗口中选择“WCF Web Service”,然后点击下一步按钮。
在下图URI输入框中输入WebService地址(如果是本地wsdl文件,则输入wsdl文件地址或点击浏览按钮选择文件),然后点击转到按钮查看WebService支持的函数。按需在最下方修改WebService命名空间,然后点击下一步按钮。
根据项目需要设置数据类型选项及客户端选项(如下面几张截图所示),然后点击完成按钮创建服务引用。
WebService添加后,会在解决方案资源管理器的项目下增加Connected Services文件夹,在其下即可查看生成的服务代码。
采用参考文献1中介绍的第2种方法在WebApi中调用WebService,由于是匿名访问,采用默认设置即可。主要代码如下所示:
publicclassMathOptController:ControllerBase{privateMathServiceSoapClient m_client =null;publicMathOptController(){BasicHttpBinding binding =newBasicHttpBinding();EndpointAddress address =newEndpointAddress("http://192.168.11.50:8088/MathService.asmx");
m_client =newMathServiceSoapClient(binding, address);}[HttpGet]publicintAdd(int a,int b){Task<int> result= m_client.AddAsync(a,b);return result.Result;}}
最后是运行效果截图。
参考文献:
[1]https://www.cnblogs.com/songjuntao/p/15327698.html
[2]https://blog.csdn.net/emirma/article/details/128239616
版权归原作者 gc_2299 所有, 如有侵权,请联系我们删除。