深入了解 .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 有更深入的理解, 并且为您添加了一些有益的信息。

原创文章,作者:GAKO,如若转载,请注明出处:https://www.506064.com/n/134498.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
GAKOGAKO
上一篇 2024-10-04 00:06
下一篇 2024-10-04 00:06

相关推荐

  • 解决.net 6.0运行闪退的方法

    如果你正在使用.net 6.0开发应用程序,可能会遇到程序闪退的情况。这篇文章将从多个方面为你解决这个问题。 一、代码问题 代码问题是导致.net 6.0程序闪退的主要原因之一。首…

    编程 2025-04-29
  • 深入解析Vue3 defineExpose

    Vue 3在开发过程中引入了新的API `defineExpose`。在以前的版本中,我们经常使用 `$attrs` 和` $listeners` 实现父组件与子组件之间的通信,但…

    编程 2025-04-25
  • 深入理解byte转int

    一、字节与比特 在讨论byte转int之前,我们需要了解字节和比特的概念。字节是计算机存储单位的一种,通常表示8个比特(bit),即1字节=8比特。比特是计算机中最小的数据单位,是…

    编程 2025-04-25
  • 深入理解Flutter StreamBuilder

    一、什么是Flutter StreamBuilder? Flutter StreamBuilder是Flutter框架中的一个内置小部件,它可以监测数据流(Stream)中数据的变…

    编程 2025-04-25
  • 深入探讨OpenCV版本

    OpenCV是一个用于计算机视觉应用程序的开源库。它是由英特尔公司创建的,现已由Willow Garage管理。OpenCV旨在提供一个易于使用的计算机视觉和机器学习基础架构,以实…

    编程 2025-04-25
  • 深入了解scala-maven-plugin

    一、简介 Scala-maven-plugin 是一个创造和管理 Scala 项目的maven插件,它可以自动生成基本项目结构、依赖配置、Scala文件等。使用它可以使我们专注于代…

    编程 2025-04-25
  • 深入了解LaTeX的脚注(latexfootnote)

    一、基本介绍 LaTeX作为一种排版软件,具有各种各样的功能,其中脚注(footnote)是一个十分重要的功能之一。在LaTeX中,脚注是用命令latexfootnote来实现的。…

    编程 2025-04-25
  • 深入探讨冯诺依曼原理

    一、原理概述 冯诺依曼原理,又称“存储程序控制原理”,是指计算机的程序和数据都存储在同一个存储器中,并且通过一个统一的总线来传输数据。这个原理的提出,是计算机科学发展中的重大进展,…

    编程 2025-04-25
  • 深入理解Python字符串r

    一、r字符串的基本概念 r字符串(raw字符串)是指在Python中,以字母r为前缀的字符串。r字符串中的反斜杠(\)不会被转义,而是被当作普通字符处理,这使得r字符串可以非常方便…

    编程 2025-04-25
  • 深入了解Python包

    一、包的概念 Python中一个程序就是一个模块,而一个模块可以引入另一个模块,这样就形成了包。包就是有多个模块组成的一个大模块,也可以看做是一个文件夹。包可以有效地组织代码和数据…

    编程 2025-04-25

发表回复

登录后才能评论