Fork me on GitHub

WCF服务端的.NET Core支持项目Core WCF 正式启动

长期以来在wcf客户端库 https://github.com/dotnet/wcf 里反应最强烈的就是.NET Core的服务端支持 https://github.com/dotnet/wcf/issues/2695 ,在build 2019 大会上微软明确说明在将WinForms,WPF和Entity Framework 6添加到.NET Core 3.0后,不打算再将.NET Framework中的技术添加到.NET Core中。这意味着微软不会向.NET Core添加ASP.NET WebForm,WCF,Windows Workflow,.NET Remoting和各种其他较小的API。.NET团队博客上的Scott Hunter也发了文章进行说明Core WCF在.NET 5的更多背景信息,使用WF和WCF OSS项目支持社区

2019年6月7日,微软WCF团队成员Matt Connew(https://github.com/mconnew) 将Core WCF的初始代码提交到了github:https://github.com/CoreWCF/CoreWCF ,Core WCF不打算做WCF到.NET Core的100%兼容的移植,但旨在允许仅通过更改命名空间来移植许多WCF 契约和服务实现。 最初,它将使用Kestrel实现 HTTP和TCP SOAP服务,这是.NET Framework上最常用的WCF 选项。 Core WCF是在.NET基金会下面的一个项目, .NET基金会积极协调开源社区领导者,目前组建了一个由Tibi Covaci领导的团队。

从Scott Hunter发的博客文章来看,Web Forms、WCF和WF的路线图已经很清晰了,对于新应用程序,WCF这种SOAP技术不建议使用,有更好的技术可以提供类似的用途,并提供更多功能或更好的体验:

  • ASP.NET Blazor - 提供与ASP.NET Web Forms类似的组件和基于事件的编程模型,但生成SPA(单页面应用程序)而不是传统的Web站点。
  • ASP.NET Web API或gRPC - 提供可在所有设备和平台上使用的 API和基于契约的RPC。
  • .NET Core WCF客户端 - 使得.NET Core项目能够调用在.NET Framework上运行的现有WCF服务器。

对于老的应用程序,建议将这些保留在.NET Framework上。如果这些项目上满足您的业务需求又没有太多时间对它进行重构,那么您应该将它们留在原地,继续使用.NET Framework,甚至可以通过Windows容器是应用程序现代化。.NET Framework 从4.5.2版及更高版本开始,.NET Framework被定义为Windows操作系统(OS)的一个组件。组件获得与其父产品相同的支持,因此,.NET Framework 4.5.2及更高版本遵循安装它的基础Windows操作系统的生命周期策略。所以基本上,如果您在可预见的未来继续使用.NET 4.x,完全不用担心微软不支持了,微软肯定支持,支持的生命周期和Windows Server的支持生命周期是一致的。

如果您真的想将一个旧的应用程序迁移到.NET Core并且想继续使用WCF和WF, 社区的开源项目也是可以的,但是上生产的时间表就要到了2020年.NET 5.

posted @ 2019-06-09 09:43 张善友 阅读(...) 评论(...) 编辑 收藏