.NET周刊【8月第4期 2023-08-27】
国内文章
AgileConfig-1.7.0 发布,支持 SSO
https://www.cnblogs.com/kklldog/p/agileconfig-170.html
AgileConfig 已经好久好久没有更新过比较大的功能了。一是 AgileConfig 本身的定位就是比较轻量,不想集成太多的功能。二是比较忙(懒)。但是本次升级给大家带来了一个比较有用的功能 SSO。
使用 OpenTelemetry 构建 .NET 应用可观测性(1):什么是可观测性
https://www.cnblogs.com/eventhorizon/p/17660272.html
- 什么是系统的可观测性(Observability)
- 为什么软件系统需要可观测性
- 可观测性的三大支柱
- 日志(Logging)
- 指标(Metrics)
- 分布式追踪(Distributed Tracing)
- Unknow Unknows VS Known Unknowns
- 数据的关联 - 实现可观测性的关键
- 总结
Windows 虚拟地址 到底是如何映射到 物理地址 的?
https://www.cnblogs.com/huangxincheng/p/17656346.html
我发现有很多的 .NET程序员 写了很多年的代码都没弄清楚什么是 虚拟地址,更不用谈什么是 物理地址 以及Windows是如何实现地址映射的了?这一篇我们就来聊一聊这两者之间的联系。
C#是否应该限制链式重载的设计模式?
https://www.cnblogs.com/sunkaixuan/p/17655870.html
链式重载是我自己创造的一个词,意思是方法A里处理一下参数,return另一个方法A,第二个方法A里处理一下参数调第三个方法A,就这样无限循环下去直到调到真正能出结果的方法A。
本人学艺不精,偶然进行C#开发,感觉看代码要吐。比如看到某处调用方法A,除非有某个特征显眼的参数,否则根本不知道调的方法A是哪个,而且代码里也不是按照链的顺序写的。
一个超经典 WinForm 卡死问题的最后一次反思
https://www.cnblogs.com/huangxincheng/p/17654394.html
在我分析的 200+ dump 中,同样会遵循着 28原则,总有那些经典问题总是反复的出现,有很多的朋友就是看了这篇 一个超经典 WinForm 卡死问题的再反思 找到我,说 WinDbg 拦截 System_Windows_Forms_ni System.Windows.Forms.Application+MarshalingControl..ctor 总会有各种各样的问题,而且 windbg 也具有强侵入性,它的附加进程方式让很多朋友望而生畏!
这一篇我们再做一次反思,就是如何不通过 WinDbg 找到那个 非主线程创建的控件,那到底用什么工具的? 对,就是用 Perfview 的墙钟模式。
MAUI+Blazor混合应用开发示例
https://www.cnblogs.com/fengjq/p/17647612.html
笔者之前在公司搭建过一套生产管理系统,该系统要求能和硬件进行串口通信,同时又要方便后台进行信息查询。笔者给出的解决方案就是:MAUI + Blazor,这样只需要提供一套UI,就能满足桌面端、移动端和Web端三种不同应用场景。今天要介绍的是基于桌面端的开发实现(实际上WPF和Winform皆可行)。
某酒管集团-单例模式对性能的影响及思考
https://www.cnblogs.com/yxdeng/p/17636047.html
大概一年前开始在思考 构造函数中 依赖注入较多,这对系统性能及硬件资源消耗产生一些优化想法。 一般较多公司的项目都使用Autofac 依赖注入(Scoped 作用域),但是发现过多的对象产生 会消耗 CPU , 内存 并给GC(垃圾回收)造成一定的压力。那么开始思考是否能够使用 单例 (Singleton)来解决这些问题呢? 带着这些想法开始ReView整个项目的代码,排查是否存在 单例 会造成 线程安全 或 方法内修改全局变量的代码( 结果是乐观的.... )。于是开始了性能测试....论证.. 试运行... ,结果是超预期的(CPU 从 60%-降低到--》10%, 内存 从 33%-降低到--》20%, 接口平均响应时间 从 120毫秒--降低到--》50毫秒 . 1500/QPS (不含内部服务相互调用)) 和 @InCerry 沟通结果,说可以写个 案例 和大家分享分享... 于是乎 有了这一片文章。
CTC蜀道会:第一次圆桌会圆满结束
https://www.cnblogs.com/edisonchou/p/ctc_offline_activity_2023no1_introduction.html
近期,成都.NET俱乐部核心成员经过讨论会,我们成立了CTC蜀道会,它是一个专注于创业历程、研发管理、AIGC、副业之路、.NET、Vue、微软技术、开源技术等领域的社区,立足于蓉城成都,致力于连接同道中人,共同破圈成长。
Blazor前后端框架Known-V1.2.13
https://www.cnblogs.com/known/p/17645480.html
Known是基于C#和Blazor开发的前后端分离快速开发框架,开箱即用,跨平台,一处代码,多处运行。
- Gitee: https://gitee.com/known/Known
- Github:https://github.com/known/Known
主题
【英文】发布版本 v2.56.0 grpc/grpc-dotnet
https://github.com/grpc/grpc-dotnet/releases/tag/v2.56.0
grpc-dotnet v2.56.0 已发布。
它包括对 DebuggerDisplay 等调试体验的改进,以及细微的改进和错误修复。
【英文】Windows 社区工具包 8.0 预发行版 - #ifdef Windows
https://devblogs.microsoft.com/ifdef-windows/windows-community-toolkit-8-0-pre-release/
Windows Community Toolkit 8.0 预览版已发布。
WCT 8.0 将多个平台集成到一个代码库中,统一命名空间等等。该组件可与 UWP、Windows App SDK 和 Uno 平台配合使用。
本文还介绍了可用的包以及如何在新的/现有的项目中使用它们。
【英文】发布 ImageSharp.Drawing 1.0.0
https://sixlabors.com/posts/announcing-imagesharp-drawing-100/
SixLabors.ImageSharp.Drawing 1.0.0 已发布。
该库基于ImageSharp,提供高级绘图功能,例如文本渲染、路径和形状绘制。在类似 Linux 的环境中可以用作 System.Drawing 的替代方案。
请注意,该库的版本 v1.x 是在 Apache 2.0 许可证下,但它所依赖的 ImageSharp 不是 v2.x(不是开源的)。
【英文】ReSharper 和 Rider 2023.2 的第一组错误修复就在这里! | .NET 工具博客
https://blog.jetbrains.com/dotnet/2023/08/24/2023-2-1-bugfix/
ReSharper 和 Rider 2023.2 已发布。
此版本修复了各种错误,包括冻结和代码解析问题。
【英文】.NET Framework 2023 年 8 月累积更新预览 - .NET 博客
https://devblogs.microsoft.com/dotnet/dotnet-framework-august-2023-cumulative-update-preview/
.NET Framework 2023 年 8 月累积更新的预览版已发布。
此版本修复了 WPF、运行时和 ASP.NET 中的多个错误。
文章、幻灯片等
【英文】内存优化的扭曲故事
讨论从“char[]”创建 UTF-8 字节时优化内存分配的陷阱。
【日文】可以包装 Microsoft.Fast.Components.FluentUI 的 DataGrid 中无法显示的项目
https://zenn.dev/tomokusaba/articles/2468153bfe2d68
关于FluentUI for Blazor的FluentDataGrid组件中在列中指定长字符串时如何避免显示被截断的问题。
【日文】CEDEC 2023 现代高性能 C# 2023 版
https://speakerdeck.com/neuecc/cedec-2023-modanhaipahuomansuc-number-2023-edition
该幻灯片介绍了基于序列化器的实现在现代 .NET 中编写高性能代码的技术。
【日文】使用 AntDesignBlazor 时如何测试组件
https://zenn.dev/artuer/articles/9245d21ac8a88c
如何使用 AntDesignBlazor 对组件进行单元测试。能够使用 BUnit 和 AntDesignTestKit 编写测试。
【日文】制作一个在iOS真机和模拟器上运行MAUI App的脚本的故事 - Qiita
https://qiita.com/t0r/items/1e7a2e8923a8b47a3a12
关于创建 shell 脚本以直接在 iOS 真实版和模拟器上运行 .NET MAUI 应用程序。
【英文】在 Visual Studio 2022 中安全地使用 HTTP 请求中的机密 - Visual Studio 博客
使用 Visual Studio 2022 发送 HTTP 请求 (.http) 的功能时如何存储机密。
除了 httpenv.json 作为环境设置和 httpenv.json.user 作为用户特定设置之外,我们还介绍了从 ASP.NET Core 用户机密和 Azure Key Vault 获取机密信息以及使用 Windows DPAPI 进行加密等方法。是它还引入了 HTTP 文件中额外支持的新语法。
【英文】使用 ForwardedHeadersMiddleware 简化微服务中的标头传播
如何在服务之间传播从客户端接收到的 HTTP 标头。本文介绍如何使用 Microsoft.AspNetCore.HeaderPropagation NuGet 包。
【英文】使用 GitHub Copilot Chat 简化代码优化和调试 - Visual Studio 博客
介绍 Visual Studio 中使用 GitHub Copilot Chat 进行调试和代码改进功能。
本文介绍了分析器中的 CPU 使用情况分析、异常帮助程序以及调试时引用变量和调用堆栈的问题等功能。
【英文】探索 .NET 8 中的 Blazor 变化 - 使用表单捕获用户输入
https://jonhilton.net/blazor-ssr-forms/
在 .NET 8 中的 Blazor (SSR) 中处理表单用户输入的演练。
【英文】如何在 Steam Deck 上安装 JetBrains Rider | .NET 工具博客
https://blog.jetbrains.com/dotnet/2023/08/23/how-to-install-jetbrains-rider-on-steam-deck/
如何在 Steam Deck (SteamOS) 上安装 Rider。
本文介绍了除了 Rider 之外如何安装和运行 .NET 和 Unity。
【英文】.NET 迁移的故事 - 编目
https://www.jimmybogard.com/tales-from-the-net-migration-trenches-catalog/
创建一个目录,列出现有应用程序需要解决的问题,以便从 .NET Framework 迁移到 .NET。
【英文】使用 Serilog 和 Azure 进行 ASP.NET Core 日志记录
https://damienbod.com/2023/08/21/asp-net-core-logging-using-serilog-and-azure/
如何在 ASP.NET Core 中使用 Serilog 将日志发送到 Application Insights 和 Azure 应用服务日志记录服务。
【英文】动态适应应用程序大小
https://maoni0.medium.com/dynamically-adapting-to-application-sizes-2d72fcb6f1ea
讨论称为动态适应应用程序大小 (DATA) 的 GC 功能,该功能将在 .NET 8 中实验性地引入。
【日文】C# Dev Kit for Visual Studio Code 是一个故事,您可以在 GitHub Codespaces 上免费使用它 - Shibayan Miscellaneous
https://blog.shibayan.jp/entry/20230825/1692937805
关于在 Visual Studio Code 上使用扩展的 C# Dev Kit 进行 .NET 开发需要 Visual Studio 许可证,但该许可证包含在 GitHub Codespaces 中。
【日文】尝试将 ASP.NET Core 集成添加到 Azure Functions(.NET 独立工作线程)- Shibayan 其他
https://blog.shibayan.jp/entry/20230823/1692768859
了解 ASP.NET Core 集成现已在 Azure Functions 的 .NET 隔离工作线程中可用。
【英文】Visual Studio 中的新增功能:使用解决方案资源管理器比较文件 - Visual Studio 博客
介绍 Visual Studio 解决方案资源管理器中的文件比较功能。
Enum.TryParse 意外行为
https://steven-giesel.com/blogPost/64d479f1-823f-4fc7-a56a-2b1ff06dcf72
如果 Enum.TryParse 与基本类型匹配,即使该值实际上并未定义,它也会通过有必要检查 IsDefined。
库、存储库、工具等。
wcabus/nes-sharp:用 C# 编写的 NES 模拟器
https://github.com/wcabus/nes-sharp
用 C# 编写的 NES(Famicom)模拟器。
https://x.com/wesleycabus/status/1695072673087263168?s=12
网站、文档等
推文
讨论如何在 appsettings.json 中以与日志相同的方式完成 .NET 8 中与指标相关的设置。
https://x.com/davidfowl/status/1695454305782837561?s=12
对象头是 4 个字节,但在 64 位 .NET 中,出于对齐原因包含 4 个字节的填充是一种浪费。
https://x.com/kookiz/status/1692931201550446891?s=12&t=ggvrrZ7oLogHyNoIGNgjbw
深入理解
通过 janvorli Pull 请求将 NativeAOT 异常处理移植到 CoreCLR #88034 dotnet/runtime
https://github.com/dotnet/runtime/pull/88034
PR 将 NativeAOT 的异常处理机制移植到 CoreCLR。
这可以加快异常处理速度,但目前有一些限制,并且需要环境变量才能启用。此外,由于复杂性,不支持 32 位版本的 Windows。
CoreCLR RISC-V 架构端口问题 #84834 dotnet/runtime GitHub
https://github.com/dotnet/runtime/issues/84834
移植到 RISC-V 架构的问题。
版权声明
- 国内板块由 InCerry 进行整理 : https://github.com/InCerryGit/WeekRef.NET
- 其余内容来自 Myuki WeekRef,由InCerry翻译(已获得授权) : https://github.com/mayuki/WeekRef.NET
由于笔者没有那么多时间对国内的一些文章进行整理,欢迎大家为《.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周刊【8月第4期 2023-08-27】的更多相关文章
- .NET周报 【2月第2期 2023-02-11】
国内文章 SQLSERVER的truncate和delete有区别吗? https://mp.weixin.qq.com/s/wTIeW8rjj3cRzoaQcg2sOw 在面试中我相信有很多朋友会被 ...
- .NET周报【1月第4期 2023-01-28】
由于微信公众号排版问题,建议大家在PC端浏览. 国内文章 C# 很少人知道的科技 https://blog.lindexi.com/post/C-很少人知道的科技.html 本文来告诉大家在C#很少有 ...
- .NET周报【10月第3期 2022-10-25】
国内文章 聊一聊被 .NET程序员 遗忘的 COM 组件 https://www.cnblogs.com/huangxincheng/p/16799234.html 将Windows编程中经典的COM ...
- .NET周报【1月第1期 2023-01-06】
国内文章 [开源]基于.net6+gtksharp实现的Linux下的图形界面串口调试工具 https://www.cnblogs.com/flykai/p/17007554.html 由于公司的上位 ...
- .NET周报【1月第3期 2023-01-20】
这应该是2023年农历新年前的最后一篇.NET周报,再次预祝大家新年快乐! 国内文章 看我是如何用C#编写一个小于8KB的贪吃蛇游戏的 https://www.cnblogs.com/InCerry/ ...
- .NET周报 【2月第1期 2023-02-04】
国内文章 .NET 入门到高级路线 https://www.cnblogs.com/hejiale010426/archive/2023/02/01/17083913.html 笔者介绍了.NET入门 ...
- .NET周报 【2月第3期 2023-02-18】
国内文章 2023 年.NET仓库社区年度调查已经开始 https://mp.weixin.qq.com/s/H9xUAO_yAdqm5CIHBs_eqA 中国地区是 .NET 的一个重要的市场和社区 ...
- .NET周报 【2月第4期 2023-02-25】
国内文章 .NET微服务系统迁移至.NET6.0的故事 https://www.cnblogs.com/InCerry/p/microservice-migration-net-6.html 本次迁移 ...
- .NET周报 【3月第2期 2023-03-12】
国内文章 ASP.NET Core中如何限制响应发送速率(不是调用频率) https://www.cnblogs.com/coredx/p/17195492.html ASP.NET Core中有很多 ...
- .NET周报 【3月第3期 2023-03-19】
国内文章 记一次 .NET某汽车零件采集系统 卡死分析 https://www.cnblogs.com/huangxincheng/p/17214154.html 前段时间有位朋友在微信上找到我,说他 ...
随机推荐
- Google Chrome 超详细使用教程
由于微信不允许外部链接,你需要点击文章尾部左下角的 "阅读原文",才能访问文中的链接. 调查统计机构 NetMarketShare 发布最新的 7 月份报告,在全球浏览器市场,谷歌 ...
- Spring Boot实现高质量的CRUD-1
1.前言 在Spring Boot的SMM框架(SpringBoot+Mysql+Mybatis)的WEB项目中,CRUD(增删改查)大致占了50%-70%左右的工作量.提高CRUD的代码质量,提 ...
- TIM-BLDC六步换相-串口中断模拟检测霍尔信号换相-软件COM事件解析
TIM-BLDC六步换相-串口中断模拟检测霍尔信号换相-软件COM事件解析 一.COM事件解析 COM事件简介:COM事件即换相事件只用于高级定时器当中,其主要目的是用在BLDC方波的控制中,用于同时 ...
- Elastaticsearch 集群部署
系统Ubuntu 16.04 Elastaticsearch 5.6.9 Kibana 5.6.9 官网地址 https://www.elastic.co/products/elasticsearch ...
- C++面试八股文:static_cast了解一下?
某日二师兄参加XXX科技公司的C++工程师开发岗位第20面: 面试官:C++中支持哪些类型转换? 二师兄:C++支持C风格的类型转换,并在C++11引入新的关键字规范了类型转换. 二师兄:C++11引 ...
- Zabbix Timeout 设置不当导致的问题
哈喽大家好,我是咸鱼 今天跟大家分享一个关于 zabbix Timeout 值设置不当导致的问题,这个问题不知道大家有没有碰到过 问题 事情经过是这样的: 把某一台 zabbix agent 的模板由 ...
- 华为云河图KooMap 共筑数字孪生底座 共建产业标杆
摘译:7月7日至9日,华为开发者大会2023(Cloud)将在东莞溪村盛大举行,由华为云河图KooMap带来的关于数字孪生主题的技术分论坛.圆桌闭门会和精彩成果展示 7月7日至9日,华为开发者大会20 ...
- 自动设置IP地址和自动获取IP地址bat批处理文件
自动设置IP地址.bat Echo offecho 手动设置IP地址....Netsh interface IP Set Addr "本地连接" Static 192.168.1 ...
- 探秘高逼格艺术二维码的制作过程-AI绘画图生图
在之前的文章<AI制作艺术二维码-文生图>中,我介绍了一种直接通过提示词生成高逼格二维码的方法,但是通过提示词我们无法很好的控制生成图片的样式,特别是有些同学想要将自己的Logo或者头像附 ...
- HTTP&HTTPS协议
HTTP协议 1.什么是HTTP 超文本传输协议( HyperText Transfer Protoco,缩写:HTTP)是一种用于分布式.协作式和超媒体信息系统的应用层协议. HTTP(HyperT ...