Microsoft发布.NET 11 Preview 2,带来更清晰的堆栈跟踪
微软发布了其计划中的.NET 11软件开发平台的Preview 2版本该版本在本地运行时异步处理、Linux和macOS系统的SDK安装包缩小等方面取得了显著进展。.NET 11 Preview 2于3月10日发布可从net.microsoft.com下载。Preview 2是继2月10日发布Preview 1之后的版本正式版预计将在11月发布。运行时异步处理的重大进展根据微软介绍Preview 2在运行时原生异步处理方面取得了重大进展。与编译器生成状态机类不同运行时本身现在管理异步挂起和恢复操作。这产生了更清晰的堆栈跟踪、更好的调试体验和更低的开销。但运行时异步仍然是预览功能。编译器必须使用MethodImplOptions.Async标记方法运行时才会将它们视为运行时异步方法。在运行时方面JIT编译器现在可以消除常见模式中的边界检查即索引加常数与长度比较的情况。被证明冗余的检查算术上下文也会被优化掉。SDK安装包优化对于SDKLinux和macOS上的安装包大小通过使用符号链接去重复程序集得到了缩减。重复的.dll和.exe文件通过内容哈希识别并替换为指向单一副本的符号链接。这影响了压缩包以及.pkg、.deb和.rpm安装程序。代码分析器在SDK中得到改进以避免潜在昂贵的日志记录。属性访问、GetType()、GetHashCode()和GetTimestamp()调用不再被标记。默认情况下诊断现在仅适用于信息级别及以下因为警告/错误/关键代码路径很少是热点路径。诊断消息现在包括参数被标记的原因帮助开发人员优先处理哪些警告。.NET 11库的新功能在.NET 11库中TarFile.CreateFromDirectory的重载接受TarEntryFormat参数提供对归档格式的直接控制。以前CreateFromDirectory产生Pax归档。新的重载支持所有四种tar格式——Pax、Ustar、GNU和V7——以兼容特定工具和环境。其他改进功能.NET 11 Preview 2还包含以下附加改进ASP.NET Core的性能改进使Kestrel的HTTP/1.1请求解析器现在使用非抛出代码路径处理格式错误的请求。解析器不再在每次解析失败时抛出BadHttpRequestException而是返回指示成功、不完整或错误状态的结果结构。在有许多格式错误请求的场景中——如端口扫描、恶意流量或错误配置的客户端——这消除了昂贵的异常处理开销同时将吞吐量提高了20%到40%。有效请求处理不受影响。F#语言简化了DIM默认接口成员层次结构。此外F#的预览功能(--langversion:preview)缓存了具有相同参数类型的重复方法调用的重载解析结果。对于.NET MAUI多平台应用程序UI中的地图控件Location和MapSpan的新TypeConverter实现支持简洁的XAML语法用于地图坐标消除了冗长的x:Arguments标记的需要。同样在.NET MAUI中TypedBinding和SourceGeneratedBinding现在快约29%每个绑定操作的内存分配减少了50%。Entity FrameworkEFCore支持转换LINQ的MaxByAsync和MinByAsync方法及其同步版本。这些方法允许开发人员找到给定键选择器的最大值或最小值元素而不仅仅是最大值或最小值本身。QAQ1.NET 11 Preview 2的运行时异步处理有什么改进A.NET 11 Preview 2在运行时原生异步处理方面取得重大进展。与编译器生成状态机类不同运行时本身现在管理异步挂起和恢复操作这产生了更清晰的堆栈跟踪、更好的调试体验和更低的开销。Q2.NET 11 Preview 2如何缩小Linux和macOS的SDK安装包A通过使用符号链接去重复程序集来缩减安装包大小。重复的.dll和.exe文件通过内容哈希识别并替换为指向单一副本的符号链接。这影响了压缩包以及.pkg、.deb和.rpm安装程序。Q3ASP.NET Core在.NET 11 Preview 2中有哪些性能提升AKestrel的HTTP/1.1请求解析器现在使用非抛出代码路径处理格式错误的请求不再抛出异常而是返回结果结构。这消除了异常处理开销在有许多格式错误请求的场景中将吞吐量提高了20%到40%。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2424033.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!