写点什么

初识 .NET6

  • 2021 年 11 月 17 日
  • 本文字数:771 字

    阅读完需:约 3 分钟

2019.05.06 Build2019

2020.11.10 .NET5.0:结束了双版本并行的事儿

2021.11.08 .NET6.0 LTS 版 发布

每年一个大版本,两年一个 LTS

.NET Framework2019 年 4 月已经停止更新,必须得升级


1 .NET6 环境

https://dotnet.microsoft.com/download/dotnet/6.0

2 开发工具

https://visualstudio.microsoft.com/zh-hans/downloads/

2 .NET6 亮点

号称迄今为止最快的.NET---1w+ git 提交

https://devblogs.microsoft.com/dotnet/announcing-net-6/

据说

ASP.NET Core 性能 10 倍于 Node.js,与 Go Web 框架旗鼓相当

1 LTS 版本,发布前经过了长期的线上生产压力测试;

2 性能提升,包括文件 I/O,Json API,以及 PGO 深度优化;

3 跨浏览器、云、桌面、IoT 和移动应用程序的统一平台;

4 Blazor 重磅升级,最小 API,跨平台 MAUI 等新技术发布;

5 热重载 HotReload、AOT 编译、深度 Arm 支持等新技能;


3 先来对比一下 .Net5

.net5 Api 项目

.net6 Api 项目

1.去掉了 Startup.cs 类 中间件注册 add 与 管道 Use 直接写到了 Program

原来.Net5 里 Startup.cs 类的

ConfigureServices()方法

Configure()方法

都迁移到 Program.cs 类 直接写了

2.Program.cs 类 没有了 命名空间 和 Main() 函数 直接写语句---顶级语句



3 WebAPI 新增了一个 Minimal APIs 模式

创建的时候这里不勾选 直接生成 Minimal APIs


生成出来的项目 连 Controllers 都没有了

没有控制器---没有 Filter—啥都移除了

为了极致的性能

业务逻辑都丢到 service,api 真的是极度简化

在 Program.cs 类 app.MapGet(包含一个委托的写法)就是一个简单的 Controllers

//括号里面 支持依赖注入 也支持异步的写法

app.MapGet("/GetVirtualWallet", async (IVirtualWalletService WalletService, IMapper mapper,int walletID) => await WalletService.getVirtualWallet(walletID));



4 正式起飞...


用户头像

8年.net 老程序猿 后端工程狮 2021.01.30 加入

06年毕业,8年开发 4年架构。现在在公司打杂 有硬核文章,还有幽默风趣的诗和远方。

评论

发布
暂无评论
.NET6 从零基础精通(持续更新)