Earn More by Sharing What You Love
Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!

Tim Corey
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的說明。
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中運行。
在進入演示之前,Tim暫停下來澄清一些關鍵問題。 他說:
"這並不是為新項目設計的。"
Core WCF並不是為新開發的應用提供一個嶄新的通信框架。相反,它的存在是為了幫助擁有現有WCF服務的團隊進入現代的.NET Core環境。
如果您正開始一個新的服務型應用程式,Tim建議您查閱gRPC——這是Microsoft現在建議用於新開發的框架。 事實上,他提到自己還有另一個影片介紹gRPC,解釋其是什麼以及如何使用。
因此,Core WCF是針對遷移,而不是針對全新的ASP.NET Core項目。
Tim解釋說,Core WCF的主要目的是幫助組織現代化用.NET Framework編寫的現有WCF應用。 許多企業仍依賴於在生產中運行的WCF項目,例如使用服務契約、SOAP和WSDL生成的內部系統。
他解釋說,雖然gRPC功能強大,但並未完全取代所有常見的WCF場景,這使得許多開發者無法從舊平台遷移。 Core WCF現在解決了這個問題。
"目標是讓現有的WCF服務能夠遷移到.NET 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旗下的解決方案。
正如Tim總結的那樣,Core WCF為開發者提供了一條通往現代.NET Core運行環境的途徑。您現在可以保留WCF功能——如SOAP服務、客戶端代理和服務契約——同時享受.NET Core的所有優勢,如跨平台支持、更快的性能,以及未來.NET版本的統一運行環境。
"這會幫助您進入現代.NET Core。"
換句話說,Core WCF不是重新發明WCF——它延長了其生命週期。
Tim在影片結尾鼓勵觀眾存取Core WCF的GitHub頁面,閱讀文件並嘗試模板。
他還邀請開發者通過他的反饋網站提交問題或功能請求——這樣他就可以建立更多關於這類主題的簡短培訓影片。
在不到五分鐘的時間裡,Tim Corey清楚地解釋了Core WCF是現有WCF應用的救命繩。 它不適用於全新服務——它適用於那些希望在不從頭開始重寫的情況下,現代化和利用.NET Core優勢的維護遺留.NET Framework WCF項目的團隊。
這個Core WCF教程顯示,遷移路徑終於出現了:有了Visual Studio模板、NuGet包引用和微軟支持的工具,開發者可以安全地將他們的WCF服務帶入.NET開發的新時代。
Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!
Join our newsletter, you’ll get exclusive access on article updates. We value your privacy