测试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

相关推荐
厦门德仔2 天前
【YiFeiWebApi】易飞ERP接口开发踩坑实录(避坑指南)
webapi·易飞·开放指南
pcplayer18 天前
Delphi WebService 使用 HTTP Header 管理 Session
http·webservice·soap·web server·http header
cgsthtm1 个月前
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
网域小星球5 个月前
C语言从0入门(九)|函数进阶:嵌套调用、递归与变量作用域精讲
c语言·vs2022·嵌套调用·变量作用域·递归函数
网域小星球5 个月前
C 语言从 0 入门(七)|字符数组与字符串完整精讲|VS2022 高质量实战
c语言·开发语言·字符串·vs2022·字符数组
csdn_aspnet5 个月前
.Net 解决 Web API 中的“服务器响应状态码为 405(方法不允许)”错误
服务器·.net·webapi