美文网首页程序员
跨平台.NET Core程序引用SOAP WebService和

跨平台.NET Core程序引用SOAP WebService和

作者: mcjiffy | 来源:发表于2020-05-28 15:04 被阅读0次

    使用Windows平台和Visual Studio 2017以上版本IDE开发.NET Core应用的时候,添加SOAP WebService或者WFC服务非常简单和方便,只需要在项目的引用,添加服务引用,填入服务的wsdl地址即可。

    但是如果开发环境非Windows,或者使用VSCode作为IDE开发时,就没有那么方便的引用方式。好在微软给出了解决方案——使用dotnet-svcutil工具即可以方便引用SOAP或者WCF服务。

    在Mac或者Linux中开发.NET Core程序也能方便的使用SOAP或者WCF服务。

    具体方法如下:

    1. 安装dotnet-svcutil 工具

    执行命令:dotnet tool install --global dotnet-svcutil即可全局安装。

    2.引入SOAP或者WCF服务

    命令行进入到项目文件夹,例如:
    cd ~/workspace/projct/webapi/
    执行引用命令,例如服务地址为:http://www.example.com/SayHello.svc,
    则执行命令:
    dotnet-svcutil http://www.example.com/SayHello.svc

    3.服务引用完成

    等待命令行完成引用后,项目文件夹会多出一个文件夹:ServiceReference
    其中有两个文件:
    dotnet-svcutil.params.json(包含了服务的所有配置和依赖信息。
    Reference.cs(包含了服务的接口定义、方法定义和实体定义等)。

    4.服务调用

    不要忘记使用dotnet resotre命令,确认SOAP/WCF服务引用成功。
    在需要调用的地方,即可以正常使用了,例如在某个Service.cs的类中使用:
    a. 添加引用:using ServiceReference;
    b. 初始化客户端:var client = new ExampleClient();
    c.调用具体方法:var response=await client.SomeMethodAsync();
    *需要注意的是:服务引用添加的都是Async方法,需要配合async/await关键词使用,或者直接使用同步的Result属性获取响应结果。

    5. 更多用法

    使用命令dotnet-svcutil --help查看更多使用帮助和说明。

    6. 参考文档:

    https://docs.microsoft.com/en-us/dotnet/core/additional-tools/dotnet-svcutil-guide?tabs=dotnetsvcutil2x

    相关文章

      网友评论

        本文标题:跨平台.NET Core程序引用SOAP WebService和

        本文链接:https://www.haomeiwen.com/subject/nmqaahtx.html