10 分钟或更短时间内了解核心 WCF
当微软从 .NET Framework 过渡到 .NET Core 时,有一个主要组件没有跳转:Windows Communication Foundation (WCF)。 多年来,WCF 一直是构建互联系统的首选解决方案,为从企业内部工具到大型网络应用程序的一切提供动力。
Tim Corey 在他简短但富有洞察力的视频"10 分钟以内了解 Core WCF"中,向我们介绍了 Core WCF 项目是什么、它为什么存在以及开发人员如何开始使用它。 在本文中,我们将逐步探讨 Tim 的解释。
为什么存在 Core WCF.
Tim 在开场时提醒观众,当微软转向 .NET Core 时,他们将 WCF 抛在了脑后。 这意味着在旧版 .NET Framework 上使用 WCF 服务的开发人员没有直接升级到 .NET Core 的途径。
然而,开发人员社区挺身而出。正如蒂姆所解释的那样
"现在,社区已将 WCF 引入 .NET Core"。
这个由社区推动的项目现在作为 .NET 基金会项目托管,名为 Core WCF。它本质上是对 Windows Communication Foundation (WCF) 的重新实现,使其能在现代 .NET Core 和更新的 .NET 版本中运行。
核心 WCF 不适用于新项目
在开始演示之前,蒂姆停顿了一下,以澄清一些关键问题。 他说:
"这真的不是为新项目设计的"。
Core WCF 并不是适用于新建应用程序的全新通信框架。相反,它的存在是为了帮助拥有现有 WCF 服务的团队迁移到现代 .NET Core 环境中。
如果您要启动一个新的基于服务的应用程序,Tim 建议您改用 gRPC,这是微软目前推荐用于新开发的框架。 事实上,他还提到了另一个介绍 gRPC 的视频,解释了什么是 gRPC 以及如何使用它。
因此,Core WCF 是用于迁移,而不是全新的 ASP.NET Core 项目。
Core WCF 适用对象
Tim 解释说,Core WCF 的主要目标是帮助企业将用 .NET Framework 编写的现有 WCF 应用程序现代化。 许多企业仍然依赖在生产中运行的 WCF 项目,例如,使用服务合同、SOAP 和 WSDL 生成的内部系统。
他解释说,gRPC 虽然功能强大,但并不能完全取代所有常见的 WCF 应用场景,这让许多开发人员无法摆脱旧平台。 Core WCF 现在解决了这个问题。
"目标是使现有的 WCF 服务能够迁移到 .NET Core"。
因此,如果您有一个在完整框架上运行的 WCF 项目,现在只需更改一些配置,就可以将其迁移(重复使用现有的服务合同、客户端代理和项目文件)。
核心 WCF 项目页面概览
然后,Tim 展示了 Core WCF GitHub 页面,其中包含开发人员入门所需的一切内容。 他鼓励观众进行探索,并提到:
"这是一个很好的开始--不仅有关于如何创建服务和参考客户项目的逐步演练,甚至还有可以安装到 Visual Studio 中的新模板"。
这些 CoreWCF 项目模板使使用新的 .NET SDK 风格项目文件格式构建 Core WCF 服务或 WCF 客户端变得更加容易。
该页面还解释了如何处理 NuGet 包引用、配置文件和服务地址,帮助开发人员从 .NET Framework 的旧 XML 配置文件转向 .NET Core 中使用的中间件模式。
新模板存在的原因
在这一点上,Tim 解决了一个常见问题--如果 Core WCF 不用于新项目,为什么还要创建新的 CoreWCF 项目模板?
他解释说,从 .NET Framework WCF 迁移到 .NET Core 的升级策略之一是创建一个新的 CoreWCF 项目,然后将代码(服务逻辑、接口和配置)迁移到其中。
"升级到 WCF 的 .NET Core 版本的策略之一是创建一个新模板,然后将代码移过去"。
这有助于开发人员调整应用程序的结构,使用 .NET Core SDK 风格的项目,并更新他们的 NuGet 包,而不是旧的程序集引用。
因此,Visual Studio 中的新模板或通过 dotnet 命令行工具提供的新模板并非用于全新系统,而是用于协助现有 WCF 应用程序的迁移过程。
版本更新和稳定性
Tim 接着谈到了版本控制。 在录制时,Core WCF 1.1 版本刚刚发布,而 1.0 版本是在四月份发布的。
他指出,1.1 版本仅在一周前(6 月底)发布,这表明 Core WCF 正在快速发展并变得越来越稳定。
"这其实只适合需要 Core 升级的人,但如果你需要,今天真是个好日子"。
该声明强调,Core WCF 现在已经足够成熟,可以在生产环境中安全使用,这让准备开始迁移过程的企业充满信心。
微软支持的社区工具
虽然 Core WCF 最初是一个社区项目,但 Tim 强调它得到了微软的官方支持。
"它开始变得稳定。 它得到了微软的支持--只是让你知道而已"。
这使得 Core WCF 既可靠又面向未来。 这意味着,如果您将自己的 WCF 服务转移到 Core WCF,您就不会将赌注押在一个废弃的或实验性的项目上--它是 .NET 基金会旗下由微软支持、社区维护的解决方案。
迈向现代 .NET 的一步
正如 Tim 总结的那样,Core WCF 为开发人员提供了一条通往现代 .NET Core 运行时的道路。现在,您可以保留您的 WCF 功能(如 SOAP 服务、客户端代理和服务合约),同时享受 .NET Core 的所有优势,如跨平台支持、更快的性能以及适用于未来 .NET 版本的统一运行时。
"这是能帮助您迈入现代 .NET Core 的东西"。
换句话说,Core WCF 并没有重新发明 WCF,而是延长了它的寿命。
最终想法和社区参与
Tim 在 视频的最后鼓励观众访问 Core WCF GitHub 页面、阅读文档并试用模板。
他还邀请开发人员通过他的反馈网站提交他们的问题或功能请求,这样他就可以制作更多类似主题的培训视频短片。
结论:Core WCF 作为通向现代 .NET 的桥梁
在不到五分钟的时间里,Tim Corey 清楚地解释了 Core WCF 是现有 WCF 应用程序的生命线。 这不是针对全新的服务--而是针对维护传统 .NET Framework WCF 项目的团队,他们希望在不从头开始重写一切的情况下实现现代化并利用 .NET Core 的优势。
本 Core WCF 教程表明,迁移路径终于来了:有了 Visual Studio 模板、NuGet 包引用和微软支持的工具,开发人员就可以安全地将他们的 WCF 服务带入 .NET 开发的新时代。

