随着.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