您的位置:

深入了解 .NET Core 2.1

.NET Core 是跨平台的,高性能的,具有开放源代码的,模块化,并且完全免费的应用程序框架,旨在通过.NET技术栈来构建向后兼容的,功能丰富的应用程序。自发布以来,.NET Core逐渐成为了许多开发人员的首选。

一、.NET Core 2.1的新特性

1、使用 HttpClientHandler 跟踪

在 .NET Core 2.1 之前,我们必须使用CustomDelegatingHandler通道传递一些传输信息。 使用HttpClientHandler 跟踪功能可以提供更好的性能,以及更加方便的配置。

HttpClientHandler可以跟踪每个请求的状态,帮助您了解每个请求的进展,并追踪每个请求的超时和重试次数。


var result = new Dictionary<string, string>;
using (var client = new HttpClient(new HttpClientHandler { UseCookies = true }))
{
    // Do some work with the client.
    response = await client.GetAsync("http://example.com");
    result.Add(response.RequestMessage.Method.ToString(), response.StatusCode.ToString());
}

2、ASP.NET Core 2.1 改进

.NET Core 2.1 更加稳定,并且本身也进行了一些调整与升级,特别是对于 ASP.NET Core,这似乎是一个振奋人心的消息。 ASP.NET Core 2.1 使用了一堆新的特性和改进。

例如,ASP.NET Core 2.1 对于控制器和标识范围的构建作了优化,并优化了工作流,使其更加紧凑,更少繁琐。 此外,ASP.NET Core 2.1还使用了SignalR进行WebSockets开发。

3、SignalR 更新

SignalR 是 ASP.NET 中十分重要的一个组件,可以创建实时应用程序, 这意味着ASP.NET Core 2.1其在 SignalR 的更新也十分重要。

SignalR 现在可以处理 WebSockets 协议,这是一种更加快速的协议,可处理双向通信。此外,最新版本的SignalR还具有协议协商功能,使得您可以选择的协议,包括长轮询和Server-Sent Event。

二、性能与并发性的改进

1、更好的硬件支持

使用 .NET Core 2.1 可以利用现代 CPU 和硬件性能的优势,这在许多大型系统中非常重要。 .NET Core 2.1 支持 Enhanced Mode,这可以让 Windows 上的程序获得更好的性能,并且在 Linux 下也支持 AVX2、SSE2 和 ARM64。

2、基于 Span 的异步和同步 IO API

新的基于 Span 的异步和同步 IO API, 可以媲美 异步Java IO和 Go 语言IO。.NET Core 2.1 异步 IO API可以非常方便地支持 HTTP 和 TCP 服务器。

3、Kestrel 更新

Kestrel 是 ASP.NET Core 中的 Web 服务器,也是存在一些负载均衡代理后面的主要服务器。 在 .NET Core 2.1 中,Kestrel 可以处理比之前更高的负载,并且对于大多数 Web 应用程序,都可以获得更好的性能。

三、.NET Core 2.1 的可重现构建

1、默认开启强Hash值检查

首先,.NET Core 2.1 默认启用强哈希的检查。这是一个很大的改进,它可以在开发人员构建应用程序时检测到已知的安全漏洞,并预防应用程序在运行时受到攻击。

2、离线模式下的 .NET Core SDK

随着发布新版本的 .NET Core SDK,序列化器应该进行更新。很多开发人员担心在更新应用程序时遇到序列化器的问题。.NET Core 2.1引入了一种离线模式,可以让开发人员在系统离线时继续使用SDK。

3、开发与部署的优化

在 .NET Core 2.1 中,可以利用"门禁",以便开发人员更好地调试应用程序。 现在,开发人员可以更好地确定有问题的代码行,以及哪些参数超出了范围。 同时,在部署方面,.NET Core 2.1 大大简化了程序的部署,并提高了程序的健壮性。

四、Docker 化怒放

1、使用 Docker 来加速构建

.NET Core 和带 Docker 支持的应用程序理想地相配。对于那些熟悉Docker的开发人员,.NET Core 2.1 允许在 Docker Hub 中找到 .NET Core Docker 镜像,您可以在您的本地环境中进行 Docker 化和构建,同时也可以大大加速应用程序的构建和部署。

2、Docker 增强

在 .NET Core 2.1 中,如果您的应用程序使用基础镜像,则可以减小应用程序的体积,增加应用程序的速度。.NET Core 2.1 还改善了与容器化环境集成的方法,如 Docker,容器化应用程序的部署正在变得越来越普及。

五、结语

在本文中,我们深入了解了 .NET Core 2.1 背后的力量和最新的改进,并发现了它可以做的事情比我们以前所知道的要多得多。希望这篇文章能够让您对 .NET Core 有更深入的理解, 并且为您添加了一些有益的信息。