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

相关推荐
uzong2 小时前
技术故障复盘模版
后端
GetcharZp3 小时前
基于 Dify + 通义千问的多模态大模型 搭建发票识别 Agent
后端·llm·agent
桦说编程3 小时前
Java 中如何创建不可变类型
java·后端·函数式编程
IT毕设实战小研3 小时前
基于Spring Boot 4s店车辆管理系统 租车管理系统 停车位管理系统 智慧车辆管理系统
java·开发语言·spring boot·后端·spring·毕业设计·课程设计
wyiyiyi4 小时前
【Web后端】Django、flask及其场景——以构建系统原型为例
前端·数据库·后端·python·django·flask
阿华的代码王国5 小时前
【Android】RecyclerView复用CheckBox的异常状态
android·xml·java·前端·后端
Jimmy5 小时前
AI 代理是什么,其有助于我们实现更智能编程
前端·后端·ai编程
AntBlack5 小时前
不当韭菜V1.1 :增强能力 ,辅助构建自己的交易规则
后端·python·pyqt
bobz9656 小时前
pip install 已经不再安全
后端
寻月隐君6 小时前
硬核实战:从零到一,用 Rust 和 Axum 构建高性能聊天服务后端
后端·rust·github