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

最后是运行效果截图。


参考文献:

1\]https://www.cnblogs.com/songjuntao/p/15327698.html \[2\]https://blog.csdn.net/emirma/article/details/128239616

相关推荐
赵药师15 天前
Win11下的VS2022 配置RGBD435i 相机
c++·vs2022·windows11·rgbd435i
.NET修仙日记16 天前
2026 .NET 面试八股文:高频题 + 答案 + 原理(进阶核心篇)
面试·职场和发展·c#·.net·.net core·微软技术·webapi
网域小星球20 天前
C语言从0入门(九)|函数进阶:嵌套调用、递归与变量作用域精讲
c语言·vs2022·嵌套调用·变量作用域·递归函数
网域小星球20 天前
C 语言从 0 入门(七)|字符数组与字符串完整精讲|VS2022 高质量实战
c语言·开发语言·字符串·vs2022·字符数组
csdn_aspnet22 天前
.Net 解决 Web API 中的“服务器响应状态码为 405(方法不允许)”错误
服务器·.net·webapi
wxm63122 天前
PLC总控改造(2)
webapi
Murphy20231 个月前
.net8 Swashbuckle.AspNetCore WEBAPI 配置要点记录
.net·swagger·webapi·swashbuckle
.NET修仙日记1 个月前
Acme.ReturnOh:让.NET API返回值处理更优雅,统一响应格式一步到位
c#·.net·webapi
ChaITSimpleLove2 个月前
aiagent-webapi 命令的详细使用说明
dotnet·webapi·ai agent·agent framework·maf·projecttemp
lujunql2 个月前
CMake 生成Visual Studio 2022工程---第三章.Eclipse Paho C
mqtt·vs2022·eclipse paho c