10 分鐘或更短時間內介紹 Core WCF
[[academy-video-youtube({"vid": "I-46c9E-PcA", "start_time": "0", "title": "Intro to Core WCF In 10 Minutes or Less", "creator": "Tim Corey", "length": "4m 31s"})]]
當Microsoft從.NET Framework轉換到.NET Core時,有一個主要部件未能隨之遷移:Windows Communication Foundation (WCF)。 多年來,WCF是構建連接系統的首選解決方案,支持從內部企業工具到大型網頁應用的一切。
在他的短片"Intro to Core WCF in 10 Minutes or Less"中,Tim Corey帶我們了解什麼是Core WCF項目、為何存在以及開發者如何開始使用它。 在本文中,我們將逐步探索Tim的說明。
為什麼需要Core WCF
Tim開場時提醒觀眾,當Microsoft轉向.NET Core時,他們拋棄了WCF。 這意味著使用WCF服務的開發者在舊的.NET Framework版本中無法直接升級到.NET Core。
然而,開發者社區站了出來。如Tim所解釋,
"現在社區已經把WCF帶入.NET Core。"
這個由社區驅動的項目現已作為.NET Foundation項目進行託管,稱為Core WCF。這實質上是Windows Communication Foundation (WCF)的重新實現,使其在現代.NET Core和最新版本的.NET中運行。
Core WCF不適用於新項目
在進入演示之前,Tim暫停下來澄清一些關鍵問題。 他說:
"這並不是為新項目設計的。"
Core WCF並不是為新開發的應用提供一個嶄新的通信框架。相反,它的存在是為了幫助擁有現有WCF服務的團隊進入現代的.NET Core環境。
如果您正開始一個新的服務型應用程式,Tim建議您查閱gRPC——這是Microsoft現在建議用於新開發的框架。 事實上,他提到自己還有另一個影片介紹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項目,您現在可以遷移——重用您現有的服務契約、客戶端代理和項目文件——只需一些配置更改。
Core 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項目,然後將您的程式碼(服務邏輯、接口和配置)遷移進去。
"升級到.NET Core版WCF的策略之一是建立一個新模板,然後將程式碼遷移過去。"
這幫助開發者重構其應用以使用.NET Core的SDK風格項目,並更新其NuGet包,而不是使用舊的程式集引用。
因此,在Visual Studio或通過.NET命令行工具提供的新模板不是為全新系統準備的——它們是為了協助現有WCF應用的遷移過程。
版本更新和穩定性
然後,Tim談到了版本控制問題。 截至他錄製時,Core WCF版本1.1剛剛發布——沿襲了4月份的1.0版本。
他指出,1.1版本僅是在一周前(6月末)發布的,顯示出Core WCF正在快速發展,並越來越穩定。
"這實際上是為那些需要Core升級的人準備的,但如果您需要,今天將是很棒的一天。"
這句話強調Core WCF現在已經成熟到可以安全用於生產環境,給準備開始遷移過程的組織信心。
微軟支持的社區工具
儘管Core WCF最初是社區項目,Tim強調它已經得到了微軟的正式支持。
"它正開始變得穩定。 微軟支持它——請知悉。"
這讓Core WCF既可靠又具未來性。 這意味著,如果您將WCF服務移植到Core WCF,您並不是依賴於一個被遺棄或試驗性的項目——這是一個微軟支持的、由社區維護的.NET Foundation旗下的解決方案。
邁向現代.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 Core優勢的維護遺留.NET Framework WCF項目的團隊。
這個Core WCF教程顯示,遷移路徑終於出現了:有了Visual Studio模板、NuGet包引用和微軟支持的工具,開發者可以安全地將他們的WCF服務帶入.NET開發的新時代。

