長期以來在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.