测试ASP.NET Core的WebApi项目调用WebService

  虚拟机中部署的匿名访问的WebService,支持简单的加减乘除操作。本文记录在WebApi中调用该WebService的方式。

  VS2022创建WebApi项目,然后在解决方案资源管理器的Connected Services节点点右键,选择管理连接的服务菜单。

  点击下图圈红处的加号按钮。


  在弹出的添加服务引用窗口中选择"WCF Web Service",然后点击下一步按钮。

  在下图URI输入框中输入WebService地址(如果是本地wsdl文件,则输入wsdl文件地址或点击浏览按钮选择文件),然后点击转到按钮查看WebService支持的函数。按需在最下方修改WebService命名空间,然后点击下一步按钮。

  根据项目需要设置数据类型选项及客户端选项(如下面几张截图所示),然后点击完成按钮创建服务引用。



  WebService添加后,会在解决方案资源管理器的项目下增加Connected Services文件夹,在其下即可查看生成的服务代码。

  采用参考文献1中介绍的第2种方法在WebApi中调用WebService,由于是匿名访问,采用默认设置即可。主要代码如下所示:

csharp 复制代码
public class MathOptController : ControllerBase
{
    private MathServiceSoapClient m_client = null;
    public MathOptController()
    {
        BasicHttpBinding binding = new BasicHttpBinding();

        EndpointAddress address = new EndpointAddress("http://192.168.11.50:8088/MathService.asmx");

        m_client = new MathServiceSoapClient(binding, address);
    }

    [HttpGet]
    public int Add(int a,int b)
    {
        Task<int> result= m_client.AddAsync(a,b);
        return result.Result;
    }
}

  最后是运行效果截图。


参考文献:

1https://www.cnblogs.com/songjuntao/p/15327698.html

2https://blog.csdn.net/emirma/article/details/128239616

相关推荐
csdn_aspnet3 天前
.NetCore Webapi 接口验证请求来源
.netcore·ip·token·签名·webapi·cors·sign
DreamLife☼11 天前
西门子 S7 系列协议深度科普
webapi·profinet·profibus·工业知识点·iso-on-tcp·串口时代·工业以太网时代
桔子雨16 天前
轻量,再轻量:当 PicoServer 遇上 SimdPaddleOCR
webapi·picoserver·轻量web框架
厦门德仔23 天前
【YiFeiWebApi】易飞ERP接口开发踩坑实录(避坑指南)
webapi·易飞·开放指南
pcplayer1 个月前
Delphi WebService 使用 HTTP Header 管理 Session
http·webservice·soap·web server·http header
cgsthtm2 个月前
visual studio 2022 安装 .net framework 4.5
visual studio·vs2022·.net framework·.net 4.5
桔子雨2 个月前
PicoServer的哲学:不是框架,是胶水
webapi·picoserver
桔子雨4 个月前
C# ESP32/STM32 轻量 Web 能力库:PicoServer.Nano
esp32·webapi·picoserver·picoserver.nano
赵药师5 个月前
Win11下的VS2022 配置RGBD435i 相机
c++·vs2022·windows11·rgbd435i
.NET修仙日记5 个月前
2026 .NET 面试八股文:高频题 + 答案 + 原理(进阶核心篇)
面试·职场和发展·c#·.net·.net core·微软技术·webapi