【问题标题】:Generate .Net Core Soap Webservices Proxy in MacOS在 MacOS 中生成 .Net Core Soap Webservices 代理
【发布时间】:2018-09-24 20:01:10
【问题描述】:

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

生成代理

“添加参考”

(但他用的是windows pc)

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

生成文件

system.Web.Services

.Net Core 中不存在的包

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

有人可以帮忙吗?有任何想法吗 ?备择方案 ?捷径?

感谢您阅读到这里!

【问题讨论】:

    标签: c# web-services soap proxy .net-core


    【解决方案1】:

    我的解决方案是基于使用官方文档here 中的.Net Core CLI

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

    mkdir HelloSvcutil

    cd HelloSvcutil

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

    dotnet 新控制台

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

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

    dotnet 恢复

    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 包,如下所示:

    dotnet 恢复

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

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

    dotnet 运行

    【讨论】:

      【解决方案2】:

      您可以尝试为 VS 2017 安装 Microsoft WCF Web Service Reference Provider。您可以按照“如何使用扩展”部分生成客户端代码,然后将生成的代码复制并粘贴到您的 VS Code 项目中。

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

      【讨论】:

        【解决方案3】:

        由于添加Microsoft WCF Web Service Reference 不适用于ASP.NET Core 2.1 项目at the moment,您可以添加新的.NET Standard class library 项目以Standard 2.0 为目标并添加服务引用:

        1. 右键项目
        2. 选择Add -&gt; Connected Service
        3. Connected Services窗口中选择Microsoft WCF Web Service Reference Provider
        4. 指定WSDL 详细信息,如guide 所述
        5. 将新库引用添加到您的 ASP.NET Core Web 应用程序(针对 .NET Core 2.1

        【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-02-09
        • 1970-01-01
        • 1970-01-01
        • 2011-02-08
        • 1970-01-01
        • 2014-04-01
        相关资源
        最近更新 更多