Bootstrap

初识 .NET6

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 正式起飞...