首页 > 解决方案 > ASP.NET Core 2.1 对完整 .NET 框架的性能改进?

问题描述

我有一个基于在完整 .NET 框架上运行的 ASP.NET Core 2.0 的现有项目。我的案例的微软文档在这里。该应用程序使用 Kestrel 和 libuv 来提供传入连接。

从理论上讲,ASP.NET Core 2.1 如何提高/降低我的案例的性能?

我的项目在完整的 .NET Framework 4.7.2 上运行。在我看来,它不会受益于 .NET Core 2.1 的性能改进。正确的?

还提到了 ASP.NET Core 2.1发行说明。

托管套接字将 libuv 替换为 Kestrel 的默认传输。

这对在完整 .NET 框架上运行的应用程序有很大影响吗?

标签: asp.net-core.net-coreasp.net-core-2.0

解决方案


你是对的。由于您在 .NET Framework 上运行,因此您不会受到 .NET Core 2.1 的性能改进的影响。虽然这些更改最终也会(至少部分)影响到 .NET Framework,但我们还没有实现。

如果您想要获得最佳性能,那么您应该使用 .NET Core,它始终是进行最多改进并且首先发生改进的运行时。

但是,这并不意味着 .NET Framework 很慢或什么的。过去在 .NET Framework 上构建了无数应用程序,其中还包括许多对性能非常关键的东西。甚至 Stack Overflow 目前也在 .NET Framework 上运行。因此,仅仅因为 .NET Core 可以更快,这并不会使 .NET Framework 变得糟糕。在完整的框架上运行非常好。

话虽如此,ASP.NET Core 2.1 当然还包括可能影响性能的更改。虽然大多数已宣布的速度改进来自 .NET Core 2.1 的更改,但如果还有其他更改也会显示出明显的改进也就不足为奇了。套接字传输层就是其中之一。

无论性能改进如何,您都应该从 2.0 升级到 2.1。.NET Core 2.0 和 ASP.NET Core 2.0 将于2018 年 10 月 1 日达到 EOL。因此,到那时,如果您需要 Microsoft 的支持,您应该已经升级。


推荐阅读