文章插图
现代服务架构除了这些明显的性能优势之外,进入 .NET 为我们提供了从 IIS 和 Windows 迁移到在 AKS 中托管的 Linux 容器内运行的 Kestrel 服务器的机会,我们现在可以使用所有可用于管理和配置云服务的现代化工具和资源(比如K8s)
总结对于计划将大型现有 .NET Framework 代码库迁移到 .NET 6 及更高版本的其他人 , 可以应用从我们的经验中吸取的教训:
1. 现有代码从4.7 升级到4.8
2. 将所有项目迁移到新的 SDK 格式,以便它们在执行任何其他操作之前使用 PackageReference 。(说实话我忘了.net framework 是咋回事了,所以上面这块儿原文也没怎看就没翻译)
3. 使用 .NET Standard 作为桥梁,允许在迁移过程中在 .NET Framework 和 .NET 项目之间共享库代码
4. 使用集中的包引用来极大地简化向较新 NuGet 包的过渡 。
迁移完成了 , 我们的脚步并没有停下,接下来我们会研究.net的一些新的特性:
1. 找到我们可以使用 Span\<T> 来减少堆分配并提高性能的地方,例如,我们的代码有一些地方可以检查两个字节缓冲区是否相同 。我们可以使用高度优化的 SequenceEqual 方法,而不是遍历每个字节并测试相等性
```return bufferA.AsSpan().SequenceEqual(bufferB);```
以下是benchmark
文章插图
随着我们的前进,重写我们的一些代码以专门利用新的语言和运行时特性,这将继续是一项有趣且非常有益的练习
推荐阅读
- OpenDataV低代码平台增加自定义属性编辑
- 「产品运营」研发效能之DevOps平台如何运营?
- PSA 谣言检测——《Probing Spurious Correlations in Popular Event-Based Rumor Detection Benchmarks》
- 主动减震平台 主动减震台品牌哪种好
- 办公室出租平台哪个好 滨江房屋出租
- 高铁行驶途中李易峰广告被紧急撤换的简单介绍
- 全国征兵网官网登录平台登陆入口
- APP监测管理平台该怎么做 产品经理培训大概多少钱
- 怎么安装steam游戏平台
- 泰州安全教育平台登录入口 泰州安全教育平台登录