在MacOS中生成.Net Core Soap Webservices代理



我看过一个 c# 教程,其中讲师使用

"添加引用">

(但他使用的是Windows PC(

我正在使用 mac,并且正在努力以相同的方法生成 Web 服务的代理,它生成文件

系统。网络服务网

.Net Core 中不存在的包

我做了很多研究,我发现它不包含在 .Net Core 中,我尝试将其添加为外部但没有成功, 我读了一些文章,说有一种叫做WCF的替代品,但我也没有在Mac上找到它,所有教程或官方文档都使用Windows,我已经看到它正在使用一个.exe,这让我确信,这个地狱不存在在Mac或其他Linux系统上!

有些人可以提供帮助 ? 有什么想法 ? 替代方案 ? 捷径 ?

感谢您阅读它直到这里!

我的解决方案基于使用 .Net Core CLI,如此处的官方文档所示

  1. 为项目创建一个名为 HelloSvcutil 的目录,并将其设置为当前目录,如以下示例所示:

mkdir HelloSvcutil

cd HelloSvcutil

  1. 使用 dotnet new 命令在该目录中创建新的 C# 控制台项目,如下所示:

点网新控制台

  1. 在编辑器中打开 HelloSvcutil.csproj 项目文件,编辑项目元素,然后使用以下代码将 dotnet-svcutil NuGet 包添加为 CLI 工具引用:

    <ItemGroup>
    <DotNetCliToolReference Include="dotnet-svcutil" Version="1.0.*" />
    </ItemGroup>
    
  2. 使用 dotnet restore 命令还原 dotnet-svcutil 包,如下所示:

点网还原

    使用
  1. svcutil 命令运行 dotnet 以生成 Web 服务引用文件,如下所示:(使用您的 Web 服务链接,在我的情况下:http://localhost.com/BanqueWS?wsdl (

dotnet svcutil http://contoso.com/SayHello.svc

生成的文件保存为 HelloSvcutil/ServiceReference1/Reference.cs。dotnet_svcutil工具还会将代理代码所需的相应 WCF 包作为包引用添加到项目中。

  1. 使用 dotnet restore 命令还原 WCF 包,如下所示:

点网还原

  1. 在编辑器中打开程序.cs文件,编辑 Main(( 方法,并将自动生成的代码替换为以下代码以调用 Web 服务:

    static void Main(string[] args)
    {
    var client = new SayHelloClient();
    Console.WriteLine(client.HelloAsync("dotnet-svcutil").Result);
    }
    
  2. 使用 dotnet run 命令运行应用程序,如下所示:

点网运行

您可以尝试安装 VS 2017 Microsoft WCF Web 服务引用提供程序。可以按照"如何使用扩展"部分生成客户端代码,然后将生成的代码复制并粘贴到 VS Code 项目中。

Dot Net 核心是关于休息的,而不是 SOAP

由于添加Microsoft WCF Web Service Reference目前不适用于ASP.NET Core 2.1项目,因此您可以添加新的.NET Standardclass library针对Standard 2.0的项目并向其添加服务引用:

  1. 右键单击项目
  2. 选择Add -> Connected Service
  3. Connected Services窗口中选择Microsoft WCF Web Service Reference Provider
  4. 按照指南中所述指定WSDL详细信息
  5. ASP.NET CoreWeb 应用程序添加新的库引用(面向.NET Core 2.1(

相关内容

  • 没有找到相关文章

最新更新