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 中 ASP.NET Core 的主要工作计划

.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

.NET 6 Preview 1 中的 ASP.NET Core 新增功能
  • 支持 IAsyncDisposable MVC【重要】
  • DynamicComponent
  • ElementReference在相关组件上公开的输入
  • 可为空的引用类型注释
.NET 6 Preview 2 中的 ASP.NET Core 新增功能
  • Razor 编译器更新为使用源代码生成器

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

  • 启用 Redis 分析会话
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 日志中间件【重要】
    • 有关如何使用 HTTP 日志记录的更多信息,请查看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/

 

系列目录     【已更新最新开发文章,点击查看详细】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/886773.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

老年人1

用servlet构建一个javaweb项目并配置好环境

数据类型拓展

数据类型扩展 整数拓展 整数拓展:进制 二进制0b开头 十进制 八进制0开头 十六进制0x开头public class Demo03 {public static void main(String[] args) {//整数拓展: 进制 二进制0b开头 十进制 八进制0开头 十六进制0x开头int i =10;int i2 =010…

寒假打工记

通过联系老师和亲戚获得了家教途径 以下是于中介的沟通总结: 找工作的话尽量不要通过中介简绍,会潜在收取大量的费用,导致工作收益太低,带三个高一学生数学2小时100,不足以提供食宿费;此外还应事先谈好薪资结算时间,以免拖欠。 以下是与学生家长的沟通总结: 与家长沟通…

亲测可用,IDEA中使用满血版DeepSeek R1!支持深度思考!免费!免配置!

之前介绍过在IDEA中使用DeepSeek的方案,但是很多人表示还是用的不够爽,比如用CodeChat的方案,只支持V3版本,不支持带推理的R1。想要配置R1的话有特别的麻烦。作者:程序员 Hollis之前介绍过在IDEA中使用DeepSeek的方案,但是很多人表示还是用的不够爽,比如用CodeChat的方案…

Vscode中Eigen库的导入问题

Vscode中Eigen库的导入问题.Vscode中Eigen库的导入问题 在Vscode中,C++外部库(这里为Eigen)的导入问题主要有库的zip文件下载、在c_cpp_properties.json和tasks.json文件中进行路径配置。另外,如果运行代码使用Code Runner插件,还需要在Code Runner中进行路径配置(即使在…

最新更新!扣子(Coze)接入地表最强DeepSeek-R1大模型,超全攻略,手把手教学,完全免费教程

‍ 最新消息,国产地表最强大模型可以接入Coze平台了,今天斜杠君为大家带来了最细接入攻略,大家快学起来吧~ 备注:需要登录专业版火上引擎接入,开通专业版的同学需要开通一下。 接下来,话不多说,斜杠君用最简单的方式教给大家。 大家可以关注收藏,以免之后找不到,而且也…

1.如何在python中安装playwright

1.如何在python中安装playwright 打开pycharm,进入终端,输入如下的2个命令行代码即可自动完成playwright的安装 pip install playwright ——》在python中安装playwright第三方模块 playwright install ——》安装playwright所需的工具插件和所支持的浏览器 看到这里,是否想…

最新扣子(Coze)案例教程:DeepSeek 图像生成,用扣子应用打造超萌表情包生成器,手把手教学,完全免费教程

上一篇文章和大家分享了如何把DeepSeek-R1接入到扣子智能体中进行使用,这篇教程让我们来应用一下DeepSeek,使用DeepSeek结合工作流中的图像生成节点,打造一个表情包生成器的应用。 应用作用:输入一个人物或动物主题,生成一组表情包。 首先我们来看一下生成后的效果: 图像…

我悟了!原来本地图片预览还能这样搞

在网页开发中,经常会遇到需要让用户上传图片并在上传前进行预览的需求。这样做的好处显而易见:用户可以立即看到自己选择的图片是否正确,避免了不必要的上传和服务器资源浪费,提升了用户体验。Hey, 我是 Immerse 本文首发于 【沉浸式趣谈】,我的个人博客 https://yaolifen…

octave画高通滤波、超前,滞后补偿器的幅频响应图

octave代码非常简单:pkg load control s=tf(s); k=0.5; sysG1=k*(0.005*s)/(0.005*s+1); sysG2=k*(0.8*s+1)/(0.1*s+1); sysG3=k*(s+1)/(5*s+1); figure bode(sysG1) figure bode(sysG2) figure bode(sysG3)也可以借助循环,看如下代码:1 pkg load control2 s=tf(s);3 k=0.5;…

frame切换/窗口切换

frame切换/窗口切换 切换到frame点击这里,边看视频讲解,边学习以下内容 请大家点击这里,打开这个链接 如果我们要 选择 下图方框中 所有的 蔬菜,使用css选择,怎么写表达式? 当然,要先查看到它们的html元素特征大家可能会照旧写出如下代码:from selenium import webdriv…

选择元素的基本方法

选择元素的基本方法点击这里,边看视频讲解,边学习以下内容对于百度搜索页面,如果我们想自动化输入 白月黑羽 ,怎么做呢? 这就是在网页中,操控界面元素。 web界面自动化,要操控元素,首先需要 选择 界面元素 ,或者说 定位 界面元素 就是 先告诉浏览器,你要操作 哪个 …