SavionZhang

 

  ASP.NET Core 6.0 是 .NET6 内置的一个开源跨平台框架,于2021-11-8随.NET6一起正式发布。它主要用于构建基于云的现代互联网连接应用程序,如web应用程序、物联网应用程序和移动后端服务应用程序。ASP.NET Core应用程序运行在.NET Core 内核上,它是一个免费的、跨平台的、开源的应用程序运行时。其架构旨在为部署到云端或在本地运行的应用程序提供优化的开发框架。它由模块化组件组成,开销最小,因此在构建解决方案时保持灵活性。开发者可以开发和部署ASP.NET Core应用程序在Windows、Mac和Linux上跨平台运行。

通过下面三幅图可以了解.NET6的超强功能与优越的性能

  • ASP.NET Core 架构

  • .NET 微服务和容器化

  • .NET6性能

.NET6 已发布了7个 Preview 版本,官方链接分别为:

.NET6正式发布官方文档说明: https://devblogs.microsoft.com/dotnet/announcing-net-6/

.NET6 是微软.NET平台大统一之后的第一个 LTS 长期支持版本。

.NET Core 开源地址:https://github.com/dotnet/aspnetcore

.NET 6 中 ASP.NET Core 的主要工作计划

.NET 6 使用开放式规划流程,因此您可以在基于Blazor 的 themesof.net网站上查看为此版本计划的所有主要主题。除了这些*主题之外,我们还希望为平台提供许多用户驱动的改进。您可以在我们的路线图问题中找到为 .NET 6 中的 ASP.NET Core 计划的主要工作列表。以下是为 .NET 6 版本计划的一些主要 ASP.NET Core 功能的示例:

ASP.NET Core 6 中断性变更列表 https://docs.microsoft.com/zh-cn/dotnet/core/compatibility/6.0#aspnet-core

.NET 6 Preview 1 中的 ASP.NET Core 新增功能
.NET 6 Preview 2 中的 ASP.NET Core 新增功能
  • Razor 编译器更新为使用源代码生成器

  • 支持 Blazor 中的自定义事件参数
  • MVC 视图和 Razor 页面的 CSS 隔离
  • 从祖先组件推断组件通用类型
  • 在 Blazor 应用中保留预渲染状态
  • SignalR - 可为空的注释
.NET 6 Preview 3 中的 ASP.NET Core 新增功
  • 较小的 SignalR、Blazor 服务器和 MessagePack 脚本【重要】

services.AddStackExchangeRedisCache(options =>
{
    options.ProfilingSession = () => new ProfilingSession();
})
  • HTTP/3 端点 TLS 配置
  • 初始 .NET 热重载支持
  • Razor 编译器不再生成单独的视图程序集

Razor 编译器以前使用两步编译过程,该过程生成一个单独的视图程序集,其中包含应用程序中定义的生成的视图和页面 (.cshtml)。生成的类型是公共的并且在AspNetCore命名空间下。

我们现在更新了 Razor 编译器以将视图和页面类型构建到主项目程序集中。这些类型现在在命名空间中默认生成。此更改提高了构建性能,支持单文件部署,并使这些类型能够参与 .NET 热重载。internal sealedAspNetCoreGeneratedDocument

有关此更改的其他详细信息,请参阅GitHub 上的相关公告问题。

  • IIS 中的卷影复制
  • SignalR C++ 客户端的 Vcpkg 端口
  • 减少空闲 TLS 连接的内存占用【重要】
  • 从板中取出 SlabMemoryPool
  • BlazorWebView WPF 和 Windows 窗体控件
.NET 6 Preview 4 中的 ASP.NET Core 新增功能【重要】
  • 引入最少的 API【重要】
    • 在.NET6中,我们为web应用程序中的托管和路由引入了最少的API。这为使用.NET构建第一个web应用程序的新开发人员以及希望构建小型微服务和HTTPAPI的现有客户打开了大门。这些简化的API以较少的代价提供了ASP.NET MVC的好处。

在操作系统的【所有应用】中找到VS2022的快捷目录,展开找到“Developer Command Promet for VS2022”工具

输入以下命令即可创建新的ASP.NET Core 6.0 空 Web 应用程序,并且引入最少的API

dotnet new web -o MinApi

 

 

运行结果如下:

  • 异步流【重要】
  • HTTP 日志中间件【重要】
  • 在新项目中使用 Kestrel 作为默认启动配置文件【重要】

  • IConnectionSocketFeature
  • 改进的单页应用 (SPA) 模板
  • .NET 热重载更新
  • Razor 组件中的通用类型约束
  • Blazor 错误边界
  • Blazor WebAssembly 提前 (AOT) 编译
  • .NET MAUI Blazor 应用程序
  • 其他性能改进【重要】
.NET 6 Preview 5 中的 ASP.NET Core 新增功能
  • .NET 热重载更新 dotnet watch
  • ASP.NET Core SPA 模板更新到 Angular 11 和 React 17
  • 在 SVG foreignObject 元素中使用 Razor 语法
  • 为Action和RenderFragment组件参数指定 null
  • 通过运行时重新链接减少 Blazor WebAssembly 下载大小
  • 在 Json.NET 输出格式化程序中写入磁盘之前可配置的缓冲区阈值【重要】
  • 用于更好地过滤 Kestrel 日志的子类别
  • 更快地获取和设置 HTTP 标头
  • IIS 的可配置未消耗传入缓冲区大小

 

.NET6已于2021年11月8号正式发布,完整介绍请参考:https://devblogs.microsoft.com/dotnet/announcing-net-6/

 

相关文章: