WCF服務端的.NET Core支援專案Core WCF 正式啟動

張善友發表於2019-06-09

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

相關文章