代码之家  ›  专栏  ›  技术社区  ›  Mr.Wang from Next Door

从ASP.NET Core 2.1到完整.NET框架的性能改进?

  •  2
  • Mr.Wang from Next Door  · 技术社区  · 6 年前

    我有一个基于ASP.NET核心2在完整的.NET框架上运行的现有项目。我的案例的微软文档是 here . 应用程序正在使用Kestrel和libuv来服务传入的连接。

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

    我的项目运行在完整的.NETFramework4.7.2上。在我看来 Performance Improvements in .NET Core 2.1 . 对吗?

    阿尔索 ASP.NET Core 2.1 已提及发行说明。

    托管套接字取代libuv作为红隼的默认传输。

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

    1 回复  |  直到 6 年前
        1
  •  1
  •   poke    6 年前

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

    如果您希望获得最佳性能,那么您应该使用.NET Core,它将始终是进行最多改进的运行时,也是首先进行改进的运行时。

    然而,这并不意味着.NET框架是缓慢的。在过去,无数的应用程序都是在.NET框架上构建的,这其中也包含了很多真正的性能关键的东西。即使堆栈溢出当前也在.NET框架上运行。所以仅仅因为.NET核心可以 更快 ,这不会使.NET框架变得糟糕。完全可以在整个框架上运行。

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

    不管性能如何提高,您都应该从2.0升级到2.1。.NET Core 2.0和ASP.NET Core 2.0将 reach EOL on October 1st 2018 . 所以到那时,如果你想得到微软的支持,你应该已经升级了。