摘要:MapStaticAssets新功能:用于优化ASP.NET Core应用中静态资产的交付,旨在处理所有UI框架,包括Blazor、Razor、Pages和MVC,是UseStaticFiles的一个替代方法。
随着.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>的重载来初始化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 -
来源:科技腾飞