决策表:用于 Docker 的 .NET 实现

小窍门

此内容摘自电子书《适用于容器化 .NET 应用程序的 .NET 微服务体系结构》,可以在 .NET Docs 上获取,也可以下载免费的 PDF 以供离线阅读。

适用于容器化 .NET 应用程序的 .NET 微服务体系结构电子书封面缩略图。

以下决策表总结了是使用 .NET Framework 还是 .NET 8。 请记住,对于 Linux 容器,需要基于 Linux 的 Docker 主机(VM 或服务器),对于 Windows 容器,需要基于 Windows Server 的 Docker 主机(VM 或服务器)。

重要

开发计算机将运行一个 Docker 主机(Linux 或 Windows)。 要在一个解决方案中一起运行和测试的相关微服务都需要在同一容器平台上运行。

体系结构/应用类型 Linux 容器 Windows 容器
容器上的微服务 .NET 8 .NET 8
单一应用程序 .NET 8 .NET Framework
.NET 8
一流的性能和可伸缩性 .NET 8 .NET 8
Windows Server 旧版应用(“brown-field”)迁移到容器 -- .NET 框架
基于容器的新开发(“绿色字段”) .NET 8 .NET 8
ASP.NET Core .NET 8 .NET 8 (建议)
.NET 框架
ASP.NET 4(MVC 5、Web API 2 和 Web 窗体) -- .NET 框架
SignalR 服务 .NET Core 2.1 或更高版本 .NET Framework
.NET Core 2.1 或更高版本
WCF、WF 和其他旧框架 .NET Core 中的 WCF(仅限客户端库)或 CoreWCF .NET Framework
.NET 8 中的 WCF(仅限客户端库)或 CoreWCF
Azure 服务的消耗 .NET 8
(最终,大多数 Azure 服务将为 .NET 8 提供客户端 SDK)
.NET Framework
.NET 8
(最终,大多数 Azure 服务将为 .NET 8 提供客户端 SDK)