ASP.NET Core 6 基础入门系列(1) ASP.NET Core 6.0 简介
- 预备知识1: C#5、C#6、C#7、C#8、C#9、C#10
- 预备知识2: .NET 对比 .NET Framework
- 预备知识3: ASP.NET Core 概述
- 预备知识4: ASP.NET Core 与 ASP.NET 宏观对比
- 预备知识5: ASP.NET 请求处理机制
- 预备知识6: ASP.NET WebForm 页面生命周期
- 预备知识7: ASP.NET MVC 简介
- 预备知识8: ASP.NET MVC 路由及执行过程解析
- 预备知识9: ASP.NET MVC 请求处理流程
- 预备知识10:ASP.NET Core 3.1 新增功能
- 预备知识11:ASP.NET Core 5.0 新增功能
- 预备知识12:ASP.NET Core 6.0 新增功能
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 Preview
- https://devblogs.microsoft.com/dotnet/announcing-net-6-preview-1
- https://devblogs.microsoft.com/dotnet/announcing-net-6-preview-2
- https://devblogs.microsoft.com/dotnet/announcing-net-6-preview-3
- https://devblogs.microsoft.com/dotnet/announcing-net-6-preview-4
- https://devblogs.microsoft.com/dotnet/announcing-net-6-preview-5
- https://devblogs.microsoft.com/dotnet/announcing-net-6-preview-6
- https://devblogs.microsoft.com/dotnet/announcing-net-6-preview-7
- .NET6 Preview ASP.NET Core 更新
- https://devblogs.microsoft.com/aspnet/asp-net-core-updates-in-net-6-preview-1
- https://devblogs.microsoft.com/aspnet/asp-net-core-updates-in-net-6-preview-2
- https://devblogs.microsoft.com/aspnet/asp-net-core-updates-in-net-6-preview-3
- https://devblogs.microsoft.com/aspnet/asp-net-core-updates-in-net-6-preview-4
- https://devblogs.microsoft.com/aspnet/asp-net-core-updates-in-net-6-preview-5
- https://devblogs.microsoft.com/aspnet/asp-net-core-updates-in-net-6-preview-6
- https://devblogs.microsoft.com/aspnet/asp-net-core-updates-in-net-6-preview-7
.NET6正式发布官方文档说明: https://devblogs.microsoft.com/dotnet/announcing-net-6/
.NET6 是微软.NET平台大统一之后的第一个 LTS 长期支持版本。
.NET Core 开源地址:https://github.com/dotnet/aspnetcore
.NET 6 使用开放式规划流程,因此您可以在基于Blazor 的 themesof.net网站上查看为此版本计划的所有主要主题。除了这些顶级主题之外,我们还希望为平台提供许多用户驱动的改进。您可以在我们的路线图问题中找到为 .NET 6 中的 ASP.NET Core 计划的主要工作列表。以下是为 .NET 6 版本计划的一些主要 ASP.NET Core 功能的示例:
- 热重载 快速更新正在运行的应用程序的 UI 和代码,而不会丢失应用程序状态,以获得更快、更高效的开发人员体验。
- 微 API 用更少的代码和程序简化构建 API 端点。
- 单文件发布 构建小型、独立、高性能的应用程序和服务。
- WebAssembly 提前 (AoT) 编译 在发布时将 Blazor WebAssembly 应用程序中的 .NET 代码直接编译到 WebAssembly,以显着提高运行时性能。
- 更新的单页应用 (SPA) 支持 更新 ASP.NET Core 中的 SPA 集成,以便与最新的现代前端 JavaScript 框架无缝协作。
- Blazor 混合桌面应用程序 结合Blazor和.NET 多平台应用程序 UI的优点来构建跨平台混合桌面应用程序。
- HTTP/3 在 ASP.NET Core 支持的服务器中添加对 HTTP/3 和 QUIC 的支持。
ASP.NET Core 6 中断性变更列表 https://docs.microsoft.com/zh-cn/dotnet/core/compatibility/6.0#aspnet-core
- 支持 IAsyncDisposable MVC【重要】
- DynamicComponent
- ElementReference在相关组件上公开的输入
- 可为空的引用类型注释
- Razor 编译器更新为使用源代码生成器

- 支持 Blazor 中的自定义事件参数
- MVC 视图和 Razor 页面的 CSS 隔离
- 从祖先组件推断组件通用类型
- 在 Blazor 应用中保留预渲染状态
- SignalR - 可为空的注释
- 较小的 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 窗体控件
- 引入最少的 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 日志中间件【重要】
- 有关如何使用 HTTP 日志记录的更多信息,请查看HTTP 日志记录文档。
- 在新项目中使用 Kestrel 作为默认启动配置文件【重要】

IConnectionSocketFeature- 改进的单页应用 (SPA) 模板
- .NET 热重载更新
- Razor 组件中的通用类型约束
- Blazor 错误边界
- Blazor WebAssembly 提前 (AOT) 编译
- .NET MAUI Blazor 应用程序
- 其他性能改进【重要】
- .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/
ASP.NET Core 6 基础入门系列(1) ASP.NET Core 6.0 简介的更多相关文章
- saltstack之基础入门系列文章简介
使用saltstack已有一段时间,最近由于各种原因,特来整理了saltstack基础入门系列文章,已备后续不断查阅(俗话说好记性不如烂笔头),也算是使用此工具的一个总结.saltstack的前六篇文 ...
- 【JAVA零基础入门系列】Day2 Java集成开发环境IDEA
开发环境搭建好之后,还需要一个集成开发环境也就是IDE来进行编程.这里推荐的IDE是IDEA,那个老掉牙的Eclipse还是先放一边吧,(手动滑稽). IDEA的下载地址:http://www.jet ...
- 【JAVA零基础入门系列】Day4 变量与常量
这一篇主要讲解Java中的变量,什么是变量,变量的作用以及如何声明,使用变量. 那么什么是变量?对于初学者而言,可以将变量理解为盒子,这些盒子可以用来存放数据,不同类型的数据需要放在对应类型的盒子里. ...
- 【JAVA零基础入门系列】Day5 Java中的运算符
运算符,顾名思义就是用于运算的符号,比如最简单的+-*/,这些运算符可以用来进行数学运算,举个最简单的栗子: 已知长方形的长为3cm,高为4cm,求长方形的面积. 好,我们先新建一个项目,命名为Rec ...
- 【JAVA零基础入门系列】Day6 Java字符串
字符串,是我们最常用的类型,每个用双引号来表示的串都是一个字符串.Java中的字符串是一个预定义的类,跟C++ 一样叫String,而不是Char数组.至于什么叫做类,暂时不做过多介绍,在之后的篇章中 ...
- 【JAVA零基础入门系列】Day8 Java的控制流程
什么是控制流程?简单来说就是控制程序运行逻辑的,因为程序一般而言不会直接一步运行到底,而是需要加上一些判断,一些循环等等.举个栗子,就好比你准备出门买个苹果,把这个过程当成程序的话,可能需要先判断一下 ...
- 【JAVA零基础入门系列】Day9 Java中的那个大数值
什么是大数值?用脚趾头想也知道,当然是"大"的数值(233).Java中有两个用于表示大数值的类,BigInteger和BigDecimal,那到底能表示多大的数值呢?理论上,可以 ...
- 【JAVA零基础入门系列】Day10 Java中的数组
什么是数组?顾名思义,就是数据的组合,把一些相同类型的数放到一组里去. 那为什么要用数组呢?比如需要统计全班同学的成绩的时候,如果给班上50个同学的成绩信息都命名一个变量进行存储,显然不方便,而且在做 ...
- 【JAVA零基础入门系列】Day11 Java中的类和对象
今天要说的是Java中两个非常重要的概念--类和对象. 什么是类,什么又是对象呢?类是对特定集合的概括描述,比如,人,这个类,外观特征上,有名字,有年龄,能说话,能吃饭等等,这是我们作为人类的相同特征 ...
- 【JAVA零基础入门系列】Day12 Java类的简单应用
俗话说的好,实践出真知,所以除了理论知识掌握扎实以外,更重要的是要多加操练,这样才能掌握核心科技. 今天我们就用刚学会的类来实践一下,目标便是完成上一篇中的剁手任务. 我们的商品类已经准备好了,代码重 ...
随机推荐
- Three.js入门-相机控制器
概念介绍 在开始前,我们先看一下效果,我在场景中创建了一个立方体,当我们点击鼠标左键并拖动时,可以旋转相机视角,滚动鼠标滚轮可以缩放相机视角. 相信看了动图效果,大家对相机控件有了一个直观的认识.它是 ...
- vue3 + pnpm 打造一个 monorepo 项目
Monorepo 和 Multirepo 单一仓库(Monorepo)架构,可以理解为:利用单一仓库来管理多个packages的一种策略或手段:与其相对的是多仓库(Multirepo)架构 Monor ...
- jQuery 元素信息
先贴出元素模型信息 1.获取内容区大小 css():返回值是带单位的(getComputedStyle(node).width) <script> $(function(){ consol ...
- RAG七十二式:2024年度RAG清单
回顾2024,大模型日新月异,智能体百家争鸣.作为AI应用的重要组成部分,RAG也是"群雄逐鹿,诸侯并起".年初ModularRAG持续升温.GraphRAG大放异彩,年中开源工具 ...
- python3(iJmeter-master)接口测试程序部署实践
记录学习性能测试过程遇到的问题,加油! 环境 安装环境如下: Windows 10 1803 VMWare Workstation 15 Pro Centos Linux release 7.9.20 ...
- Shiro简单入门+个人理解(3)
最后一天,对shiro框架的应用也到此为至了,可能不是太全,但相对于一般的项目,它的作用已经使用了很多了 Shiro的授权: 授权:对用户资源访问的授权(是否允许用户访问此资源) 用户访问系统资源时的 ...
- LNMP Wordpress phpMyAdmin的部署记录
背景 CentOS 8.2服务器,使用的虚拟服务器.只开放22与80端口.设置默认页面是wordpress的入口,phpmyadmin使用虚拟目录的形式进行访问. 安装 总体思路按照此文章进行.我进行 ...
- 【Python基础练习】实验3:列表、字典、集合
实验3:列表.字典.集合 姓名:萌狼蓝天 时间:2023年11月6日 Python:3.12 博客:https://wwww.mllt.cc 实验目的 (1)了解列表.元组.字典和集合的概念 (2)学 ...
- 图层级GIS数据格式概述
图层级GIS数据格式概述 1. GEOJSON的优缺点 优点: 开放标准:GEOJSON是一个开放的标准,这意味着它可以被任何支持JSON的平台或工具使用. 易于理解和使用:由于GEOJSON基于JS ...
- C Primer Plus 第6版 第七章 编程练习参考答案
编译环境VS Code+WSL GCC 源码请到文末下载 . 注意:本章部分题目有些超纲(回用到函数调用),不理解的同学可以先去看一下后面的知识点和注释. /*第1题***************** ...

