.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 有更深入的理解, 並且為您添加了一些有益的信息。
原創文章,作者:GAKO,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/134498.html