【问题标题】:Support WCF soap based clients inside web API with .NET Core使用 .NET Core 在 Web API 中支持基于 WCF soap 的客户端
【发布时间】:2021-01-11 01:44:40
【问题描述】:

我有 WCF 应用程序,我正在尝试使用 .NET 核心迁移到 Web API。 完成迁移后,我可以要求客户升级他们的应用程序以开始使用新的 REST 端点,而不是使用 WCF 服务。 我唯一担心的是并非所有客户端都可以同时迁移到新服务,我必须继续支持 WCF 和 REST 客户端,直到所有客户端都迁移到使用 REST 服务。 我也不能运行旧服务,因为它增加了基础设施成本。有什么方法可以在同一个 REST 应用程序中支持 WCF 客户端?如果客户端不迁移,他们仍然可以使用旧端点和旧肥皂有效负载来处理服务。

【问题讨论】:

  • 一般来说框架中没有WCF服务的支持。但是有一些第三方 nuget 包,例如 CoreWCF,您可以通过它来实现它。做一点谷歌,你可以找到它。我记得我能够将我的一些 wcf 服务移植到 .net 核心
  • 这取决于你的WCF服务是否使用webhttpbinding。如果不是webhttpbinding,则无法进行此操作。比如我们使用basichttpbinding,当客户端和服务端通信时,客户端会有一个channel,但是webapi中没有类似的channel。

标签: .net rest asp.net-core wcf soap


【解决方案1】:

您可以在 .net 核心中使用托管服务。为了实现这一点,您可以从连接的服务(wcf Web 服务参考提供者)手动添加 ip:port/wcfinterface 这是一个附加工具,.net core 仍然支持客户端,您调用它的方式是有点不同。我一直在使用 wcf 的异步方法,它们的工作速度非常快。

https://docs.microsoft.com/en-us/dotnet/core/additional-tools/wcf-web-service-reference-guide

【讨论】:

  • 嗨 Jorge,我不是在 .net 核心中寻找 wcf 客户端解决方案。我希望将 wcf 服务迁移到 .net 核心中。
  • 你不能这样做,因为.net核心不支持,正常的方法是通过regular.net创建一个wcf服务。如果我是你,我会选择 API Rest、gRPC 或其他方式。
猜你喜欢
  • 1970-01-01
  • 2020-08-11
  • 2020-02-09
  • 2018-06-19
  • 2020-01-03
  • 1970-01-01
  • 1970-01-01
  • 2019-07-06
  • 1970-01-01
相关资源
最近更新 更多