【问题标题】:C# Maintaining old WCF in .NET5 with prior source codeC# 使用先前的源代码在 .NET5 中维护旧的 WCF
【发布时间】:2022-01-14 19:01:41
【问题描述】:

在新的 .NET5 中,现已删除对 WCF 的支持。

我想知道是否可以简单地从 Microsoft 的源参考中获取所有相关的源参考,然后在我的 C# 项目中再次编译它。

AKA,System.ServiceModel 命名空间中的所有内容。或者还有其他我会错过的东西。是否有任何已经为我执行此操作的 nuget 包? 如果没有其他人尝试过这样做,我会感到惊讶。

不幸的是,CoreWCF 对我的项目不起作用,因为我的项目使用 NetNamedPipeBinding,它不受支持。

我也研究过将代码迁移到 gRPC,但将我的所有代码转换为使用它似乎是一项非常及时的任务。

【问题讨论】:

  • 你不是第一个,也不会是最后一个。您的代码不能保留在 .NET Framework 上吗?迁移到 .NET Core 应该是一个分阶段的过程,你不能着急。
  • 我不会迁移到 .NET Core。 -- 我正在迁移到 .NET 5。并且只需要在 Windows 机器上使用它
  • .NET 5 = .NET Core 5,如果你不知道的话。

标签: c# wcf grpc service-model


【解决方案1】:

CoreWCF 将在明年某个时候获得 NetNamedPipe 支持。队列中还有几项任务,但它是 2022 年要完成的高优先级项目。 来源:Self,因为我是 CoreWCF 项目的所有者之一。

【讨论】:

    【解决方案2】:

    Windows Communication Foundation (WCF) 的原始实现仅在 Windows 上受支持。但是,.NET Foundation 提供了一个客户端端口。它是完全开源的、跨平台的,并得到 Microsoft 的支持。下面列出了核心 NuGet 包:

    社区维护着补充上述客户端库的服务器组件。可以在 CoreWCF 找到 GitHub 存储库。 Microsoft 不正式支持服务器组件。对于 WCF 的替代方案,请考虑 gRPC。
    来源:Windows Communication Foundation


    【讨论】:

    • 如果你再读一遍,你实际上是在重复问题中的内容。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-02
    • 2011-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-21
    • 1970-01-01
    相关资源
    最近更新 更多