【问题标题】:How to use soap web services in Asp.net Core?如何在 Asp.net Core 中使用肥皂网络服务?
【发布时间】:2015-02-20 00:49:22
【问题描述】:

我有一些由wsdl 生成的用于肥皂网络服务的类。这些正在使用命名空间System.Web.Services。如何在 asp.net core 中使用它们?

【问题讨论】:

    标签: asp.net-core asp.net-core-mvc


    【解决方案1】:

    几天前我已经回答了以下问题。

    ASP.NET 5 add WCF service reference

    在上述情况下,有一个 WCF 服务,而在你的情况下,它是 Web 服务。

    以下您应该关注或考虑的事情。

    1. 它不适用于 CoreCLR
    2. 您必须按照以下方式添加对“System.Web.Services”的引用。

      aspnet50": { “框架组件”:{
      “系统.Web.服务”:“” }, “依赖”:{ “ClassLibrary2”:“1.0.0-*” } }

    所有其他步骤都类似,您必须创建类库项目并添加该项目的引用或直接将从 WSDL 生成的类添加到您的 asp.net 5 项目。

    注意:对于这个答案,我使用了 VS 2015 CTP 5。

    【讨论】:

    • 对于 ASP.NET 5 和 MVC 6 可能更好的解决方案是使用来自同一问题的答案 stackoverflow.com/a/28440491/3912048。这将允许您在不需要 System.Web 或构建单独的程序集的情况下与 ASMX Web 服务通信。唯一的缺点是您需要使用 svcutil.exe 生成新的代理类,因为由 wsdl.exe 创建的代理类确实具有 System.Web 依赖项。不过,svcutil.exe 将适用于 ASMX 和 WCF 服务。有关将 svcutil 与 ASMX 服务结合使用的更多信息,请参阅 msdn.microsoft.com/en-us/library/vstudio/…
    • 如果您查看这个问题,那么它对名为 WSDL 的实用程序有特定用途。当使用 WSDL 生成类时,它依赖于 System.Web.Services。
    • 由于似乎 dnx 在每个版本中都发生了很大变化,我只想提一下,为了让我使用 System.Web.Service 构建和运行项目,我必须添加 @987654325 @ 并完全删除 dnxcore50": { }。这是从 beta7 开始的。以我为例,您可能还会注意到dnx451dnxcore 而不是aspnet45aspnet50,它们出现在关于SO 的几乎所有其他关于该主题的帖子中。不确定这样做的原因,但它在整个 github.com/aspnet 中都使用过。
    • @Nulref 是的,它现在可能会改变。当它是 CTP 5 时我确实回答了
    • 这个blogs.msdn.com/b/webdev/archive/2015/12/15/…现在有一个扩展名
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-29
    • 2017-01-16
    • 2017-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多