本節提供選擇 .NET 8 或 .NET Framework 的時機摘要。 我們會在後續各節中提供有關這些選項的更多詳細數據。
在下列情況下,針對容器化的 Docker 伺服器應用程式,搭配 Linux 或 Windows 容器使用 .NET 8:
您有跨平臺的需求。 例如,您想要同時使用 Linux 和 Windows 容器。
您的應用程式架構是以微服務為基礎。
您需要快速啟動容器,並希望每個容器的資源佔用較小,以達到更高密度或在每個硬體單位上容納更多容器,以降低成本。
簡言之,當您建立新的容器化 .NET 應用程式時,您應該將 .NET 8 視為默認選擇。 它有許多優點,最適合容器的哲學和工作風格。
使用 .NET 8 的額外優點是,您可以針對相同機器內的應用程式執行並存 .NET 版本。 對於不使用容器的伺服器或 VM 而言,這項優點更為重要,因為容器會隔離應用程式所需的 .NET 版本。 (只要它們與基礎 OS 相容即可。
在下列情況下,針對容器化的 Docker 伺服器應用程式使用 .NET Framework:
您的應用程式目前使用 .NET Framework,且在 Windows 上具有強式相依性。
您必須使用 .NET 8 不支援的 Windows API。
您必須使用第三方 .NET 連結庫或不適用於 .NET 8 的 NuGet 套件。
在 Docker 上使用 .NET Framework 可藉由將部署問題降到最低,以改善您的部署體驗。 此 「隨即轉移」案例 對於將原本使用傳統 .NET Framework 開發的舊版應用程式容器化很重要,例如 ASP.NET WebForms、MVC Web 應用程式或 WCF (Windows Communication Foundation) 服務。
其他資源
電子書:使用 Azure 和 Windows 容器將現有的 .NET Framework 應用程式現代化
https://aka.ms/liftandshiftwithcontainersebook範例應用程式:使用 Windows 容器將舊版 ASP.NET Web 應用程式現代化
https://aka.ms/eshopmodernizing