通用指南
本部分提供有关何时选择 .NET 8 或 .NET Framework 的总结。 后面各部分将提供对上述选择的详细介绍。
在以下情况下,将 .NET 8 与 Linux 或 Windows 容器结合使用并用于容器化 Docker 服务器应用程序:
用户有跨平台需求。 例如,想同时使用 Linux 和 Windows 容器。
应用程序体系结构基于微服务。
需快速启动容器且每个容器内存占用较小,以实现更好的密度,或每个硬件单位中的容器较多,以降低成本。
简单地说,在创建新的容器化 .NET 应用程序时,应考虑将 .NET 8 作为默认选择。 它具有许多好处,并最匹配容器的基本原理和运行方式。
使用 .NET 8 的另一个好处是可在同一台计算机中并行运行 .NET 版本的应用程序。 这一优势对于不使用容器的服务器或虚拟机而言更为重要,因为容器会隔离应用所需的 .NET 版本。 (只要它们与基础操作系统兼容。)
在以下情况下,应将 .NET Framework 用于容器化 Docker 服务器应用程序:
应用程序当前使用 .NET Framework 并在 Windows 上具有强依赖关系。
需要使用 .NET 8 不支持的 Windows API。
用户需要使用不可用于 .NET 8 的第三方 .NET 库或 NuGet 包。
在 Docker 上使用.NET Framework 可通过最大限度地减少部署问题来提升部署体验。 若要对最初使用传统 .NET Framework(例如 ASP.NET WebForms、MVC Web 应用或 Windows Communication Foundation [WCF] 服务)开发的旧应用程序实施容器化,这个“直接迁移”方案非常重要。
其他资源
电子书:Modernize existing .NET Framework applications with Azure and Windows Containers(使用 Azure 和 Windows 容器更新现有 .NET Framework 应用程序)
https://aka.ms/liftandshiftwithcontainersebook示例应用:Modernization of legacy ASP.NET web apps by using Windows Containers(使用 Windows 容器更新旧的 ASP.NET Web 应用)
https://aka.ms/eshopmodernizing