ASP.NET Core 9.0的7个方面重大更新!

随着.Net 9发布,ASP.NET Core 9.0也迎来重大更新,主要体现在以下7个方面。

1、静态资产传递优化

**MapStaticAssets新功能:**用于优化ASP.NET Core应用中静态资产的交付,旨在处理所有UI框架,包括Blazor、Razor、Pages和MVC,是UseStaticFiles的一个替代方法。

**核心作用:**最大程度地减少提供给浏览器的资产大小,减少网络传输的字节数,避免将过时版本的文件提供给客户端。

2、Blazor的新功能

.NET MAUI Blazor Hybrid和Web应用解决方案模板:可更轻松地创建共享相同UI的.NET MAUI本机应用和Blazor Web客户端应用,自动创建相应的项目,并使用共享的Razor类库(RCL)来维护UI的Razor组件。

**改善服务器端重新连接体验:**当用户导航回已断开连接的应用时,将立即尝试重新连接,页面会自动刷新以防止用户需要手动刷新。

**身份验证状态序列化简化:**通过新的API可以更轻松地向现有Blazor Web App添加身份验证,默认情况下只会序列化服务器端的名称和角色声明。

3、SignalR的新功能

中心支持多态类型:中心方法现在可接受基类(而不是派生类)来实现多态方案,需要注释基类型才能实现多形性。

4、最小API的新功能

TypedResults类增强:添加了InternalServerError和InternalServerError,用于从终结点返回"500内部服务器错误"响应。

构建Problem和ValidationProblem结果类型的改进:支持使用IEnumerable<KeyValuePair<string, object?>>的重载来初始化errors和extensions属性。

5、OpenAPI的新功能

**内置支持OpenAPI文档生成:**ASP.NET Core提供内置支持,用于通过Microsoft.AspNetCore.OpenApi包生成代表基于控制器的API或最小API的OpenAPI文档。

**支持剪裁和本机AOT:**新的内置OpenAPI支持剪裁和本机AOT,可以通过新建ASP.NET Core Web API(本机AOT)项目并添加Microsoft.AspNetCore.OpenAPI包来使用。

6、身份验证和授权的新功能

**OpenIdConnectHandler支持推送授权请求(PAR):**添加了对推送授权请求的支持,以防止浏览器中的网络攻击者查看或篡改授权参数。

7、其他新功能

**HybridCache库:**弥补了现有IDistributedCache和IMemoryCache API中的差距,并添加了新功能,如"踩踏"保护和可配置的序列化。

**开发人员异常页改进:**将终结点元数据添加到开发人员异常页面,改进了字典和其他键值集合的调试显示。

**IIS中应用程序回收期间的503错误修复:**默认情况下,IIS收到回收或关闭通知与ANCM通知托管服务器启动关闭之间现在有1秒的延迟。

**指标改进:**可以在生产环境中以最少的影响继续使用,用于调查性能问题和观察对Kestrel造成影响的外部攻击。

自定义Kestrel命名管道终结点:通过新的CreateNamedPipeServerStream方法允许按终结点自定义管道。

**信任Linux上的ASP.NET Core HTTPS开发证书:**现在将ASP.NET Core HTTPS开发证书配置为受信任的证书以用于Chromium浏览器、Mozilla Firefox和.NET API。

**模板更新:**ASP.NET核心项目模板和库已更新为使用最新版本的Bootstrap、jQuery和jQuery验证。

  • End -

更多开源项目: https://github.com/bianchenglequ/NetCodeTop

我是编程乐趣,一个.Net开发经验老程序员,欢迎"关注"我,每天为你分享开源项目和编程知识。

也欢迎加入【.Net技术编程交流社区】,和大家共同学习交流!,
点击加入https://bbs.csdn.net/topics/613465368

相关推荐
涡能增压发动积19 小时前
同样的代码循环 10次正常 循环 100次就抛异常?自定义 Comparator 的 bug 让我丢尽颜面
后端
Wenweno0o19 小时前
0基础Go语言Eino框架智能体实战-chatModel
开发语言·后端·golang
swg32132119 小时前
Spring Boot 3.X Oauth2 认证服务与资源服务
java·spring boot·后端
tyung19 小时前
一个 main.go 搞定协作白板:你画一笔,全世界都看见
后端·go
gelald20 小时前
SpringBoot - 自动配置原理
java·spring boot·后端
殷紫川20 小时前
深入拆解 Java 内存模型:从原子性、可见性到有序性,彻底搞懂 happen-before 规则
java·后端
元宝骑士20 小时前
FIND_IN_SET使用指南:场景、优缺点与MySQL优化策略
后端·mysql
用户319523703477120 小时前
记一次 PostgreSQL WAL 日志撑爆磁盘的排查
后端
nghxni20 小时前
LightESB PlatformHttp v3.0.0:JSONPath 订单转换 HTTP 路由实战
后端
武子康21 小时前
大数据-263 实时数仓-Canal 增量订阅与消费原理:MySQL Binlog 数据同步实践
大数据·hadoop·后端