找回密码
 立即注册
首页 业界区 业界 .NET周刊【12月第2期 2025-12-14】

.NET周刊【12月第2期 2025-12-14】

骆熙华 昨天 23:10
国内文章

Avalonia 实现跨平台的视频会议(Windows、Linux、信创)

https://www.cnblogs.com/shawshank/p/19305884
Avalonia 11 的发布显著提升了 .NET 生态中的跨平台 UI 开发能力,特别是提供了高质量的 Fluent 2 风格控件。文章介绍了用 Avalonia 框架开发的跨平台视频会议系统 Demo,支持多种功能,如视频会议、屏幕分享和电子白板,并保证语音质量和动态调节编码。开发环境基于 Visual Studio 2022 与.NET 8.0,使用 C#编写。项目分为服务端与客户端,涉及重要类和技术细节,展示了实际应用的可行性与前景。
Avalonia UI 的演进逻辑与 Qt 生态深度对比

https://www.cnblogs.com/shanyou/p/19329439
本文探讨跨平台图形用户界面的发展,重点分析 Mike James 从 Qt 到 Avalonia 的技术转变。历史上,开发者在高效与性能间举步维艰,Qt 以其性能占据主导地位。随着.NET 生态的崛起,开发者渴望一个具 C#优势的跨平台框架。微调的技术使 Avalonia 应运而生,展现出与 Qt 在渲染、状态管理等方面的显著差异。文章还探讨了 Avalonia 的商业化路径,通过核心开源与商业闭源的结合,挑战 Qt 在市场的地位。
WPF 新手村教程(一) - 走不出新手村别找我

https://www.cnblogs.com/leaf-7-scouts/p/19336808
本文介绍了 WPF 中 XAML 的基础语法与组件,强调了 XAML 作为声明性标记语言的简化作用。文中详细解释了对象元素的用法,包括自闭合和成对标签的语法,以及如何为控件设置属性。作者使用简单明了的示例,展现了按钮和文本框的用法,并提出了集合属性的概念,区分了显式和隐式写法。整体上,文章以通俗易懂的方式介绍了 XAML 的基础知识,适合初学者学习。
.NET 10 网络改进:HTTP、安全与网络原语的全面升级

https://www.cnblogs.com/powertoolsteam/p/19330426
.NET 10 提供了多项网络改进,包括服务器证书验证优化、新的 HTTP 动词 QUERY 和 WebSocketStream 抽象层。WinHttpHandler 目前支持基于服务器 IP 地址的证书缓存机制,增强性能。QUERY 方法允许在请求体中发送查询,适用于超长 URI 的场景。WebSocketStream 简化了文本和二进制协议的数据处理,支持多种协议。同时,.NET 10 在 OSX 上引入了客户端 TLS 1.3 支持,通过 AppContext 开关启用,提升了安全性。整体上,这些更新提升了开发者的网络编程能力。
别再说 WinForm 做的工业软件丑了!这些开源库让它颜值拉满、交互流畅

https://www.cnblogs.com/1312mn/p/19321609
WinForm 作为.NET 生态中成熟可靠的桌面开发框架,尽管存在视觉和交互限制,但在企业管理、工业控制等领域依然广泛应用。为了提升 UI 效果,开发者可借助第三方开源 UI 库,这些库在不改变 WinForm 核心结构的前提下,通过控件重绘和优化布局,使传统框架焕发新生。文中介绍的 ReaLTaiizor 控件库,提供丰富的示例和兼容的版本,能快速创建高质量的应用界面,降低现代化改造的技术门槛。
分享 4 款基于 C# 编写、实用、开源的 Visual Studio 扩展插件

https://www.cnblogs.com/Can-daydayup/p/19328798
EFCore.Visualizer 是一款用于在 Visual Studio 中可视化 EF Core 查询计划的工具,支持多种数据库。EF Core Power Tools 提供数据库反向工程和模型可视化功能,降低开发门槛。AntDeploy 是一款开源部署插件,支持多平台发布。FileEncoding 插件可实时显示文档编码,简化编码管理。所有项目均收录在 C#/.NET 优秀项目精选中,方便开发者获取最新动态和最佳实践。
腾讯云 EdgeOne Pages 托管 Blazor Wasm

https://www.cnblogs.com/CKExp/p/19319722
本文介绍了如何使用 Blazor WebAssembly 在腾讯云 EdgeOne Pages 上部署静态网站。EdgeOne Pages 与 Github Pages 相似,提供免费的静态站点部署服务。作者描述了创建 Blazor WebAssembly 项目的过程,上传代码至 Github,并使用 Github Actions 进行自动构建和部署。用 yml 文件配置了构建工作流,步骤包括设置.NET 环境和发布项目,最终将构建后的文件推送至 Github Pages。文章逻辑清晰,包含具体的指令和示例,适合开发者参考。
.NET 8 微服务框架长什么样?集成 AI 智能体、多租户、自动调度与实时通信

https://www.cnblogs.com/1312mn/p/19273206
该文章介绍了基于 .NET 8 的微服务脚手架,即 NetCoreKevin,旨在帮助快速搭建支持多租户与分布式部署的系统。文章强调项目应用领域驱动设计(DDD),前后端分离架构,并集成多种常用功能如安全认证、多云存储与 AI 能力。技术亮点包括跨服务事件通信、Redis 缓存及 Quartz 定时任务。详细提供了项目启动配置及上手教程,帮助团队快速实现 SaaS 类系统的开发与部署。
一分钟实现.NET 与飞书长连接的 WebSocket 架构

https://www.cnblogs.com/mudtools/p/19320597
本文介绍了如何在.NET 环境中实现飞书 WebSocket 长连接,强调了长连接相对于传统 Webhook 的优势,特别是在开发成本和实时性方面。文中阐述了飞书平台支持的多种事件类型,并探讨了 Mud.Feishu 架构的事件处理设计,采用策略模式以实现高效的事件处理机制。具体示例展示了如何创建用户和处理消息接收事件,强调了清晰的单一职责、可测试性以及动态选择处理策略的重要性。
【压测数据分享】C#的 ThreadPool.SetMaxThreads() 配置最大线程数到底对性能有多大影响

https://www.cnblogs.com/ahfuzhang/p/19340661
文章展示了通过 async 方法和 Kestrel 库提供 HTTP 服务的强大性能,指出线程池线程数与 CPU 核数的关系。性能通过调整线程池的最小和最大线程数得以优化。实验表明,线程池的最佳表现需要最大线程数与核数一致,过多或过少都会降低性能。使用 Kestrel 库开发的 HTTP 1.1 echo 服务器,运行在 Docker 环境中,展示了其高效的异步处理能力。实验数据提供了不同线程设置下的性能指标,验证了作者的观点。
C#AI 系列(6): C#离线实现高效 OCR

https://www.cnblogs.com/luojin765/p/19346320
本文介绍了如何在 C#中使用 Tesseract 实现 OCR。Tesseract 是一个强大的开源光学字符识别引擎,支持超过 100 种语言。作者提供了命令行和 Wrapper 两种调用方式,并重点说明了使用 Wrapper 方法,通过简洁的四行代码实现 OCR。读者需提前准备好训练模型,并可选择同时加载多种语言模型。本文也详细描述了引擎模式和页面分割模式的选择,帮助用户优化 OCR 效果。项目资源已开源,欢迎学习交流。
MAF 快速入门(6)混合编排工作流

https://www.cnblogs.com/edisontalk/p/-/quick-start-on-maf-chatper06
本文介绍了在 MAF 中混合使用 Executor 和 Agent 的工作流,重点在于针对内容审核的案例。Executor 负责确定性逻辑处理,如数据验证,而 Agent 用于 AI 智能决策,具有不确定性。文章提供了一个具体实例,使用.NET 控制台应用配置相关 NuGet 包,并展示了如何读取 API 信息及定义数据传输模型。通过具体的代码示例,清楚说明了工作流的构建过程,适合开发者学习和实践。
C#实现三菱 MC 通讯协议库(4C 帧-格式 1)

https://www.cnblogs.com/dragonet-Z/p/19318911
本文介绍了 C#实现的三菱 MC 通讯协议库,使用 VS2022 .NET Standard 2.0 开发。通过串口实现 PC 与 PLC 的通讯,支持 QnA 兼容 4C 帧格式 1 的异步读写操作。MC 协议是与三菱 PLC 通讯的公开协议,能够通过不同模块读取 PLC 的状态。文章详细说明了 MC 协议的通信框架、数据内容及指令。还提供了和校验实现代码,帮助开发者调试。文中附有相关手册链接,便于深入了解协议。最后强调协议功能强大,仅覆盖基础内容。
【EF Core】“Code First”方案下以编程方式生成迁移

https://www.cnblogs.com/tcjiaan/p/19345236
迁移(Migrations)是用于创建和修订数据库的机制。它通过生成一系列 .NET 类来表示数据库的不同版本。开发者可以在这些版本之间前进或后退,以修改数据库结构而非数据。确保创建数据库的方法不能后续修改,而迁移会保存迁移版本信息。开发者可以自定义迁移命名方式,并通过实现 IMigrationsIdGenerator 接口来定制命名。迁移由多种操作组成,通过生成 SQL 语句实现数据库修改。这个过程丰富且实用,对开发者极具帮助。
.NET 10 网络堆栈深度架构解析:HTTP/3、性能优化与后量子加密的融合演进

https://www.cnblogs.com/shanyou/p/19350080/dotnet10network
随着.NET 10 的推出,微软重新定义了云原生时代的网络通信标准。该版本聚焦现代、高效和开发者友好,支持 HTTP/3 和 QUIC 协议,解决了长期存在的队头阻塞问题,并引入后量子加密算法,增强了安全性和性能。通过 JIT 编译器优化和资源管理,.NET 10 在高并发场景下表现出色。新的 System.Net.Quic 库作为核心组件,提高了流的独立性和网络传输效率,简化了开发者的体验,标志着.NET 的技术重大进步。
.Net 微服务网关注册和管理(基于 Consul + Nginx 实现)

https://www.cnblogs.com/net-kevin-li/p/19332353
文章详细介绍了如何基于 Consul 和 Nginx 实现.NET 微服务的网关注册与管理。它阐述了微服务架构中 API 网关的功能、Consul 的服务注册与发现以及 Nginx 的动态路由配置。文章还提到健康检查与故障转移机制,以及负载均衡策略的优化。最后,涉及安全与认证的集成,展示了实际的代码示例和配置,具有实用性和技术深度。
在.NET 中实现一库多租户(Single Database Multi-Tenancy)模式,主要通过共享数据库但隔离数据的方式实现。

https://www.cnblogs.com/net-kevin-li/p/19327739
本文讨论了在.NET 中实现一库多租户模式的方法,介绍了共享数据库和数据隔离的实现方案。文章详细阐述了前后端分离设计、领域驱动设计及多级缓存机制等架构特性。内容涉及 CAP 事件总线、SignalR 实时通信和任务调度等核心技术。还描述了如何通过租户 ID 列、动态 Schema 和行级安全策略实现数据隔离,提出了通过子域名或 JWT 进行租户识别的方案。此外,文章建议了性能优化方案,如索引优化和数据分片。
OpenCVSharp:学习连通性检测的使用

https://www.cnblogs.com/mingupupu/p/19344713
连通性检测是计算机视觉中的图像处理技术,用于标记二值图像的相互连接像素区域。该技术通常用作其他图像处理的前置步骤,能统计物体数量,但应用场景有限。首先将图像灰度化,再进行二值化处理。使用 OpenCVSharp 库中的 Cv2.AdaptiveThreshold 函数,可以对光照不均的图像进行局部自适应的二值化,从而更准确地进行连通区域检测。该方法通过计算局部区域的平均值动态调整阈值,适应不同亮度的区域。全局阈值处理在复杂情况下效果较差。整体内容展示了图像处理的核心技术和应用。
Solon AI 开发学习 19 - 结合 Solon Flow 实现 ReAct 效果

https://www.cnblogs.com/noear/p/19328690
Solon Flow 是一个通用的流程编排引擎,使用 YAML 或 JSON 进行配置。该示例展示了如何通过 LLM 编写文章并进行人工审核的流程。流程开始时,Agent 编写初稿,接着进入审核环节。如果审核不通过,用户可以提供反馈,Agent 根据反馈修改内容,再次进入审核。最终,流程在获得批准或达到最大修改次数后结束。代码部分展示了 Agent 的实现,包括初稿编写和反馈处理的逻辑。整体上,该流程高效实现了人机交互与内容审核的结合。
MAUI 库推荐一:MAUIIcons

https://www.cnblogs.com/sesametech-dotnet/p/19349735
MAUIIcons 是一个为 Maui 提供的图标集合库,集成 Fluent、Material、Cupertino 和 FontAwesome 图标。用户能便捷地在 MAUI 应用中使用这些图标。为了使用该库,需要在 nuget 上下载,并在 MauiProgram.cs 中添加代码进行初始化。此外,文中介绍了如何在 XAML 中使用图标,并提供了数据绑定的示例。若遇编译错误,可以通过创建 MauiIcon 实例解决。该文易于理解,且包含实用示例。
创建抖音新号分享知识推广开源项目

https://www.cnblogs.com/fanliang11/p/19332240
作者是一名拥有二十年开发经验的 85 后,始终坚持.NET 技术,尽管面临诸多挑战。他分享了自己对产品开发的热情,坚信最终会取得成功。同时,他开设了一个新的抖音号,希望通过直播拉动粉丝和宣传产品,还提到直播互动的目的在于学习交流。
本周国际周刊未更新,故留空
今日人物

查尔斯·安东尼·理查德·霍尔爵士(英语:Sir Charles Antony Richard Hoare,缩写为 C. A. R. Hoare,1934 年 1 月 11 日—),昵称为东尼·霍尔(英语:Tony Hoare,一译托尼·霍尔),生于大英帝国锡兰可伦坡(今斯里兰卡),英国计算机科学家,图灵奖得主。他设计了快速排序算法、霍尔逻辑、通信顺序进程。
东尼·霍尔的父亲是一位公务员,服务于英属锡兰。其母亲是茶园主人的女儿。
东尼·霍尔在可伦坡出生,在英国本土受教育。1956 年,在牛津大学墨顿学院取得西洋古典学学士学位。[1]在大学毕业后,进入英国皇家海军服兵役 18 个月,[1]在此学会俄语。[2]1958 年退伍后,回到牛津大学,研读统计学,取得学士后学位。[1]在此期间,开始学习程式设计,他跟着Leslie Fox学习Autocode。为了进一步学习俄语,他以英国文化协会的交换学生身份,至苏联莫斯科国立大学留学,[1]跟随安德雷·柯尔莫哥洛夫学习数学,并研究机器翻译。[2]
1960 年,在莫斯科国立大学取得博士学位后,任职于伦敦艾略特兄弟公司(Elliott Brothers Ltd),开发出第一个商用的ALGOL 60编译器,很快就成为公司的首席工程师。
1968 年,成为贝尔法斯特女王大学的教授。1977 年回到牛津大学担任教授。现为牛津大学荣誉教授,并在剑桥微软研究院担任研究员。
1.jpeg

C# .NET 交流群

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

  • 如何找到.NET 性能瓶颈,如使用 APM、dotnet tools 等工具
  • .NET 框架底层原理的实现,如垃圾回收器、JIT 等等
  • 如何编写高性能的.NET 代码,哪些地方存在性能陷阱
希望能有更多志同道合朋友加入,分享一些工作中遇到的.NET 问题和宝贵的分析优化经验。目前一群已满,现在开放二群。可以加我 vx,我拉你进群: ls1075 另外也创建了 QQ Group: 687779078,欢迎大家加入。
本周群聊分析

2.jpeg


来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册