国内文章

.NET微服务系统迁移至.NET6.0的故事

https://www.cnblogs.com/InCerry/p/microservice-migration-net-6.html

本次迁移涉及的是公司内部一个业务子系统,该系统是一个多样化的应用,支撑着公司的多个业务方向。目前,该系统由40多个基于.NET的微服务应用构成,使用数千个CPU核心和数TB内存,在数百个Linux容器中运行。每天,该系统需要处理数十亿次请求。

我做的百度飞桨PaddleOCR .NET调用库

https://www.cnblogs.com/sdflysha/p/paddle-sharp-ocr.html

.NET Conf 2021中国我做了一次《.NET玩转计算机视觉OpenCV》的分享,其中提到了一个效果特别好的OCR识别引擎——百度飞桨PaddleOCR,可离线部署,后来我逐步把它封装了一下,代码全部开源(可点击查看原文跳转到Github):https://github.com/sdcb/paddlesharp,可以直接安装NuGet包使用,支持.NET Framework/.NET Core、支持Linux、支持GPU调用,支持14种语言模型的自动下载。

快学会这个技能-.NET API拦截技法

https://www.cnblogs.com/Dotnet9-com/p/17139986.html

您是否曾经遇到过不属于您但想要更改其行为的类库方法?通常,该方法是非公开的,并且没有很好的方法来覆盖其行为。你可以看到它是如何工作的(因为你很棒,并且使用像Resharper、dnSpy之类反编译工具,对吧?),你只是无法改变它。你真的需要改变它,因为XXX原因。

研究C#异步操作async await状态机的总结

https://www.cnblogs.com/wucy/p/17137128.html

前一段时间得闲的时候优化了一下我之前的轮子[DotNetCoreRpc]小框架,其中主要的优化点主要是关于RPC异步契约调用的相关逻辑。在此过程中进一步了解了关于async和await异步操作相关的知识点,加深了异步操作的理解,因此总结一下。关于async和await每个人都有自己的理解,甚至关于异步和同步亦或者关于异步和多线程每个人也都有自己的理解。因此,如果本文涉及到个人观点与您的观点不一致的时候请勿喷。结论固然重要,但是在这个过程中的引发的思考也很重要。

记一次 .NET 某医保平台 CPU 爆高分析

https://www.cnblogs.com/huangxincheng/p/17139891.html

一直在追这个系列的朋友应该能感受到,我给这个行业中无数的陌生人分析过各种dump,终于在上周有位老同学找到我,还是个大妹子,必须有求必应 。妹子公司的系统最近在某次升级之后,在高峰期会遇到 CPU 爆高的现象,有些单位你懂的,很强势,所以就苦逼了程序媛,不管怎么说,既然找上我,得想各种办法给解决掉,用远程的方式告诉了老同学怎么用 procdump 去抓 dump,在一个小时之后 dump 成功拿到,接下来就来分析了。

【译】.NET 7 中的性能改进(一到六)

一:https://mp.weixin.qq.com/s/w6nR6zOSazEi7fmHkxi3kQ

二:https://mp.weixin.qq.com/s/pduJO4E_qpL1Pqk_B4zpXQ

三:https://mp.weixin.qq.com/s/1hC7vJ3Rvl2aFolE44YV7g

四:https://mp.weixin.qq.com/s/jqQ4Wih-d9Gm-kopoLsIAQ

五:https://mp.weixin.qq.com/s/u-p4db392O07fhUV7oIFZg

六:https://mp.weixin.qq.com/s/C58z5OucltOI4WCeF2RqKw

一年前,我发布了.NET 6 中的性能改进,紧接着是.NET 5、.NET Core 3.0、.NET Core 2.1和.NET Core 2.0的类似帖子。我喜欢写这些帖子,也喜欢阅读开发人员对它们的回复。去年的一条评论特别引起了我的共鸣。评论者引用了虎胆龙威的电影名言,“'当亚历山大看到他的领域的广度时,他为没有更多的世界可以征服而哭泣'”,并质疑 .NET 的性能改进是否相似。水井干涸了吗?是否没有更多的“[性能]世界可以征服”?我有点头晕地说,即使 .NET 6 有多快,.NET 7 明确地强调了可以做的和已经做的更多。

使用一个文件集中管理你的 NuGet 依赖版本号

https://mp.weixin.qq.com/s/J1rmtcCLxODQdiQa0bsrqQ

在 .NET 7 以前,项目对于 NuGet依赖项的版本依赖散落与解决方案的各个角落。这导致升级维护和查看的时候都比较麻烦。在 .NET 7 中,你可以使用一个文件来集中管理你的 NuGet 依赖版本号。本篇文章将介绍如何使用这个功能。

C# 如何部分加载“超大”解决方案中的部分项目

https://mp.weixin.qq.com/s/ut7KjJ_RqNU1BkCi8iGTmg

在有的特有的项目环境下,团队会将所有的项目使用同一个解决方案进行管理。这种方式方面了管理,但是却会导致解决方案变得非常庞大,导致加载时间过长。那么,如何部分加载解决方案中的部分项目呢?就让我们来借用微软退出的 slngen 工具来体验一下部分加载解决方案中的部分项目吧。

三星为其基于 RISC-V的 Tizen平台移植.NET

https://mp.weixin.qq.com/s/UccJv2cYje4bTM1qDTbyBQ

最近.NET团队在这篇文章中介绍了对.NET移植的一般政策:https://devblogs.microsoft.com/dotnet/why-dotnet/#binary-distributions。自从.NET 2014年开源以来,社区还扩展了 .NET 以在其他平台上运行。三星为其基于ARM的Tizen平台移植了.NET。Red Hat 和 IBM 将 .NET 移植到 LinuxONE/s390x。龙芯中科将.NET移植到LoongArch。 现在三星为其基于RISC-V的Tizen平台移植.NET。

用 Visual Studio 升级 .NET 项目

https://mp.weixin.qq.com/s/jEiXcCCwAxIk9Qe1RncULw

现在,你已可以使用 Visual Studio 将所有 .NET 应用程序升级到最新版本的 .NET!这一功能可以从 Visual Studio 扩展包中获取,它会升级你的 .NET Framework 或 .NET Core 网页和桌面应用程序。一些项目类型仍正在开发中并将在不久的未来推出,请参阅以下的详细信息。

初尝 .NET 8 Preview 1

https://mp.weixin.qq.com/s/8r4xejLlJGEotS5VjyU3tA

.NET 8 的第一个 preview 版本发布了,.NET 8 是新的 LTS 版本,有三年的长期支持,体验一下 .NET 8 preview 1 看看引入进来的变化.

.NET 8 Preview 1 中新增的 Random 方法

https://mp.weixin.qq.com/s/AjLrwsMiBPUdUj2nTqto3Q

在 .NET 8 Preview 1 中引入了两个非常实用的 Random 方法,GetItemsShuffle,下面我们简单的看个简单的示例吧。

.NET 8 Preview 1 中 SDK 的更新

https://mp.weixin.qq.com/s/fC21hXMtjTxwRQY__LuC4A

在 .NET 8 中 dotnet publish 和 dotnet pack 的默认行为会发生一些变化,之前 publish 和 pack 默认是 Debug,从 .NET 8 开始默认的配置就变成了 Release。

由于Mayuki大佬上周没有时间,所以国际板块没有简介,只有标题和链接。

主题

【英文】Visual Studio 2022 - 17.5 发布 - Visual Studio Blog

https://devblogs.microsoft.com/visualstudio/visual-studio-2022-17-5-released/

【英文】.NET 8 Preview 1 发布 - .NET Blog

https://devblogs.microsoft.com/dotnet/announcing-dotnet-8-preview-1/

【英文】EF Core 8 Preview 1 发布: 原始SQL查询, 延迟加载和日期类型 - .NET Blog

https://devblogs.microsoft.com/dotnet/announcing-ef8-preview-1/

【英文】ASP.NET Core 在 .NET 8 Preview 1 中的更新 - .NET Blog

https://devblogs.microsoft.com/dotnet/asp-net-core-updates-in-dotnet-8-preview-1/

【英文】Visual Studio for Mac 17.5 现在发布 - Visual Studio Blog

https://devblogs.microsoft.com/visualstudio/visual-studio-for-mac-17-5-is-now-available/

【英文】.NET 2023年2月更新 - .NET 7.0.3 和 .NET 6.0.14 - .NET Blog

https://devblogs.microsoft.com/dotnet/february-2023-updates/

【英文】Windows 11 22H2版本中对.NET Framework更新的改进 - .NET Blog

https://devblogs.microsoft.com/dotnet/improvements-to-net-framework-updates-for-windows-11-22h2/

【英文】.NET Framework 2023年2月安全和质量滚动更新 - .NET Blog

https://devblogs.microsoft.com/dotnet/dotnet-framework-february-2023-security-and-quality-rollup-updates/

【英文】用Visual Studio升级你的.NET项目 - .NET Blog

https://devblogs.microsoft.com/dotnet/upgrade-assistant-now-in-visual-studio/

【英文】更新了WinForm的InitializeComponent的代码生成 - .NET Blog

https://devblogs.microsoft.com/dotnet/winforms-codegen-update/

【英文】Rider 2023.1 EAP 6: 新的用户界面改进和更好的调试体验 | The .NET Tools Blog

https://blog.jetbrains.com/dotnet/2023/02/24/rider-2023-1-eap-6/

【英文】microsoft/WindowsAppSDK 发布 v1.2.4 版本

https://github.com/microsoft/WindowsAppSDK/releases/tag/v1.2.4

【英文】jbogard/MediatR 发布 v12.0.0 版本

https://github.com/jbogard/MediatR/releases/tag/v12.0.0

文章、幻灯片等

【英文】通过API使用实例最大化IntelliCode的价值,指尖上的真实世界代码实例 - Visual Studio博客

https://devblogs.microsoft.com/visualstudio/intellicode-api-usage-examples/

【英文】在macOS和Linux上开始使用dotTrace | The .NET Tools Blog

https://blog.jetbrains.com/dotnet/2023/02/22/getting-started-with-dottrace-on-macos-and-linux/

【英文】构建最终的RequestDelegate 最小API的幕后 - 第七部分

https://andrewlock.net/behind-the-scenes-of-minimal-apis-7-building-the-final-requestdelegate/

【英文】List 和 Span 模式匹配 - 在Rider和ReSharper中使用C# 11 | The .NET Tools Blog

https://blog.jetbrains.com/dotnet/2023/02/20/list-and-span-pattern-matching-using-csharp-11-in-rider-and-resharper/

【英文】Blazor的npm使用 - Qiita

https://qiita.com/villhell/items/9993a132767b284ba2f6

【英文】从.Net Framework MVC迁移到Blazor WebAssembly

https://codingberry.com/migration-from-net-framework-mvc-to-blazor-webassembly-faf5937acd2a

【英文】Blazor United - 解决Blazor的最大挑战?

https://jonhilton.net/blazor-united/

【英文】C# vs Rust vs Go. 在Kubernetes中进行性能基准测试

https://medium.com/@shyamsundarb/c-vs-rust-vs-go-a-performance-benchmarking-in-kubernetes-c303b67b84b5

【日文】在C#.NET中过滤和检索CloudWatch日志事件

https://zenn.dev/sbstani/articles/3c18a3a58e03b4

【英文】Visual Studio 2022现在可以在关闭时始终更新!

https://devblogs.microsoft.com/visualstudio/visual-studio-2022-can-now-always-update-on-close/

【英文】在Visual Studio中参考GitHub问题和拉动请求 - Visual Studio博客

https://devblogs.microsoft.com/visualstudio/reference-github-issues-and-pull-requests-in-visual-studio/

【英文】在MAUI中使用.NET Google API客户端库

https://medium.com/@CORDEA/using-net-google-api-client-library-wit-maui-11ae98e34a35

【日文】在.NET中考虑全角/半角,大/小写的字符串比较 - Qiita

https://qiita.com/miswil/items/9e139202337ce881ca5f

【英文】ASP.NET Core Web API中的异常处理与问题细节服务

https://medium.com/@a.skuratovich/exception-handling-in-asp-net-core-web-api-with-problem-details-service-1f29de4116d4

【日文】Blazor WebAssembly + OpenCVSharp: 一个在浏览器中工作的客户条码阅读器(实现) - Qiita

https://qiita.com/EmEpsilon/items/1e8c38ba2c5ebb906607

【日文】仍在工作! 查看Windows Forms应用程序的新功能(1) - rksoftware

https://rksoftware.hatenablog.com/entry/2023/02/18/160000

【英文】在几分钟内重构巨大的C#代码库

https://laurentkempe.com/2023/02/20/refactoring-huge-csharp-code-base-in-minutes/

【英文】任务事件处理程序 - 你不知道的小秘密 - Dev Leader

https://www.devleader.ca/2023/02/18/task-eventhandlers-the-little-secret-you-didnt-know/

【英文】.NET上的快速控制台IO

https://medium.com/@epeshk/fast-console-io-on-net-6cb56a6db529

【日文】Console.ReadLine()中断

https://zenn.dev/nuits_jp/articles/2023-02-18-cancelling-console-readline

【英文】使用.NET和C#开始使用MongoDB Atlas和Azure Functions | MongoDB

https://www.mongodb.com/developer/languages/csharp/getting-started-with-mongodb-atlas-and-azure-functions-using-net/

【日文】围绕着C#继承的一些小事

https://www.slideshare.net/mishizaki1/c-256109925

【日文】Orleans概览及基础配置部署 | ドクセル

https://www.docswell.com/s/hiro128_777/K6YMNL-2023-02-19-170020#p20

【日文】让我们使用 OpenTelemetry 进行测量,而无需重建 ASP.NET(.NET Framework)制作的应用程序 | ドクセル

https://www.docswell.com/s/tanaka_733/KLLXRQ-2023-02-24-csharptokto-opentelemetry-dotnet-autoinstrumentation-aspnetdfx

开源库、存储库、工具

在 Newtonsoft.Json 中使用 System.Text.Json 注释对象

https://medium.com/cloudnimble/using-system-text-json-annotated-objects-in-newtonsoft-json-ca51d23605c1

各个语言编译HelloWorld程序大小比较(越小越好)

https://github.com/MichalStrehovsky/sizegame

网站、文档等

推特

https://twitter.com/jamesnk/status/1627309572087218177?s=12

深入探索

[跟踪] 在Webcil文件中发布.NET程序集 · Issue #80807 · dotnet/runtime

https://github.com/dotnet/runtime/issues/80807

.NET 8预览版1中的新内容 [WIP] · Issue #8133 · dotnet/core

https://github.com/dotnet/core/issues/8133

版权声明

由于笔者没有那么多时间对国内的一些文章进行整理,欢迎大家为《.NET周报-国内文章》板块进行贡献,需要推广自己的文章或者框架、开源项目可以下方的项目地址提交Issue或者在我的微信公众号私信。

格式如下:

  • 10~50字左右的标题
  • 对应文章或项目网址访问链接
  • 200字以内的简介,如果太长会影响阅读体验

https://github.com/InCerryGit/.NET-Weekly

.NET性能优化交流群

相信大家在开发中经常会遇到一些性能问题,苦于没有有效的工具去发现性能瓶颈,或者是发现瓶颈以后不知道该如何优化。之前一直有读者朋友询问有没有技术交流群,但是由于各种原因一直都没创建,现在很高兴的在这里宣布,我创建了一个专门交流.NET性能优化经验的群组,主题包括但不限于:

  • 如何找到.NET性能瓶颈,如使用APM、dotnet tools等工具
  • .NET框架底层原理的实现,如垃圾回收器、JIT等等
  • 如何编写高性能的.NET代码,哪些地方存在性能陷阱

希望能有更多志同道合朋友加入,分享一些工作中遇到的.NET性能问题和宝贵的性能分析优化经验。目前一群已满,现在开放二群。

如果提示已经达到200人,可以加我微信,我拉你进群: ls1075

另外也创建了QQ群,群号: 687779078,欢迎大家加入。

.NET周报 【2月第4期 2023-02-25】的更多相关文章

  1. .NET周报 【2月第1期 2023-02-04】

    国内文章 .NET 入门到高级路线 https://www.cnblogs.com/hejiale010426/archive/2023/02/01/17083913.html 笔者介绍了.NET入门 ...

  2. .NET周报【1月第1期 2023-01-06】

    国内文章 [开源]基于.net6+gtksharp实现的Linux下的图形界面串口调试工具 https://www.cnblogs.com/flykai/p/17007554.html 由于公司的上位 ...

  3. .NET周报【1月第3期 2023-01-20】

    这应该是2023年农历新年前的最后一篇.NET周报,再次预祝大家新年快乐! 国内文章 看我是如何用C#编写一个小于8KB的贪吃蛇游戏的 https://www.cnblogs.com/InCerry/ ...

  4. .NET周报【10月第3期 2022-10-25】

    国内文章 聊一聊被 .NET程序员 遗忘的 COM 组件 https://www.cnblogs.com/huangxincheng/p/16799234.html 将Windows编程中经典的COM ...

  5. .NET周报【11月第1期 2022-11-07】

    国内文章 开源·安全·赋能 - .NET Conf China 2022 https://mp.weixin.qq.com/s/_tYpfPeQgyEGsnR4vVLzHg .NET Conf Chi ...

  6. .NET周报【11月第2期 2022-11-15】

    国内文章 统一的开发平台.NET 7正式发布 https://www.cnblogs.com/shanyou/archive/2022/11/09/16871945.html 在 2020 年规划的. ...

  7. .NET周报【11月第3期 2022-11-22】

    国内文章 .NET Conf China 2022 第一批讲师阵容大揭秘!整个期待了! https://mp.weixin.qq.com/s/4p89hhBPw6qv-0OB_T_TOg 目光看过来 ...

  8. .NET周报【11月第4期 2022-11-30】

    国内文章 .NET 7 的 AOT 到底能不能扛反编译? https://www.cnblogs.com/huangxincheng/p/16917197.html 在B站,公众号上发了一篇 AOT ...

  9. .NET周报【12月第1期 2022-12-08】

    国内文章 CAP 7.0 版本发布通告 - 支持延迟消息,性能炸了? https://www.cnblogs.com/savorboard/p/cap-7-0.html) 今天,我们很高兴宣布 CAP ...

  10. .NET周报【12月第2期 2022-12-15】

    国内文章 九哥聊Kestrel网络编程第一章:开发一个Redis服务器 https://mp.weixin.qq.com/s/HJYnBE-7wbvkAYHxQaq3eQ 我和拥有多个.NET 千星开 ...

随机推荐

  1. Django静态文件配置(from表单-request对象方法-get请求与post请求-视图函数书写)

    目录 一:静态文件配置 1.静态文件配置 2.什么是静态文件? 3.静态文件的创建 4.解决使用django后端代码修改前端不显示(缓存问题) 5.settings.py 静态文件配置 6.静态文接口 ...

  2. 区块链,中心去,何曾着眼看君王?用Go语言实现区块链技术,通过Golang秒懂区块链

    区块链技术并不是什么高级概念,它并不比量子力学.泡利不相容原则.哥德巴赫猜想更难以理解,但却也不是什么类似"时间就是金钱"这种妇孺皆知的浅显道理.区块链其实是一套统筹组织记录的方法 ...

  3. windows 、linux文件互传-FileZilla

    1.下载免安装FileZilla并解压 2.打开.exe文件 3.点击左上角的文件->站点管理 4.点击新站点->进行配置相应的服务地址信息 5.连接上服务后,若需要将windows中的文 ...

  4. 对Asp.net WebApi中异步(async+await)接口实际使用及相关思考(示例给出了get,post,提交文件,异步接口等实践).

    [很多初学者的疑问] 为何作为web api这样的天然的并发应用,还需要在controller的action上声明使用async这些呢? <参考解答> 在 web 服务器上,.NET Fr ...

  5. 2022CSP-J线上游记

    写在前面 安徽CSP取消了-- 去年CSP考炸的我本来想今年一雪前耻(bushi),结果-- T1 第一题大毒瘤! 首先观察数据可以分类如下两种情况: \(a = 1\) 直接输出\(1\),retu ...

  6. 【LeetCode链表#9】图解:两两交换链表节点

    两两交换链表中的节点 力扣题目链接(opens new window) 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表. 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换. 思路 ...

  7. vertica 7.0 使用kafka

    config.propertiesclient.id设置为主机名或ip auto.offset.reset=smallest client.id=qas 设置环境变量 kafka_config=&qu ...

  8. 最最最常用的Git提交规范以及常用命令总结

    提交规范 为什么要制定提交规范? 便于对提交历史进行追溯,以及快速定位 代码改动的历史更加清晰 格式化的 Commit Message 才可以用于自动化输出 Change log 如何制定提交规范? ...

  9. linux 高效压缩工具之xz的压缩解压使用

    xz是什么 高压缩率的工具,它使用 LZMA2 压缩算法,生成的压缩文件比传统使用的 gzip.bzip2 生成的压缩文件更小, 不过xz也有一个坏处就是压缩时间比较长,比7z压缩时间还长一些.不过压 ...

  10. 构建api gateway之 http路由实现

    http路由 路由是指路由器从一个接口上收到数据包,根据数据包的目的地址进行定向并转发到另一个接口的过程. 而这里的http路由其实等同于web开发中,根据http相关参数(比如url.http me ...