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

.NET周刊【5月第2期 2025-05-11】

向梦桐 4 天前
国内文章

C#/.NET/.NET Core优秀项目和框架2025年4月简报

https://www.cnblogs.com/Can-daydayup/p/18865040
本文介绍了每月定期推荐的C#/.NET/.NET Core优秀开源项目和框架,内容包括项目简介、功能特点和使用方法。推荐了多个项目,如EverythingToolbar、MCP C# SDK、JYX2、ApeVolo.Admin、TinyWall和YourWeather,各自具有独特功能和应用场景,适合不同开发者使用。推文链接和源码地址提供了更详细的信息,充分满足开发者的需求。
在 .NET 中使用 Sqids 快速的为数字 ID 披上神秘短串,轻松隐藏敏感数字!

https://www.cnblogs.com/Can-daydayup/p/18867416
本文探讨了数字 ID 在数据安全和隐私中的重要性,介绍了 Sqids,一个基于 C# 的开源工具库,能够将数字编码为看似随机的字符串,从而保护敏感数据。Sqids 可生成唯一 ID,并能解码回原始数字,具有支持多种整数类型和可自定义选项的优点。此外,文章提供了在 .NET 中创建控制台应用和使用 Sqids 的具体示例,包括如何安装 NuGet 包及使用默认与自定义选项进行编码和解码。整体结构清晰、实用,适合开发者了解和应用。
如何把ASP.NET Core WebApi打造成Mcp Server

https://www.cnblogs.com/wucy/p/18864044/dotnet_webapi_mcp
本文介绍了模型上下文协议(MCP),强调其在AI开发框架和工具中的重要性。MCP标准化了应用程序与大语言模型(LLM)之间的上下文交互,支持多种开发语言和平台。文章通过微软的Semantic Kernel和Microsoft.Extensions.AI框架展示如何将ASP.NET Core WebAPI转换为MCP Server。MCP Hosts、Clients和Servers的概念明确了不同组件的角色。文中还介绍了相关框架的功能与实现,强调了插件和功能调用的整合,这对于AI应用的开发至关重要。
C# 14 新增功能一览,你觉得实用吗?

https://www.cnblogs.com/Can-daydayup/p/18863122
本文介绍了C# 14中新增的几个功能特性,包括扩展成员、field关键字、隐式跨度转换、未绑定的泛型类型与nameof、带修饰符的简单lambda参数、更多部分成员的支持以及null条件赋值。这些特性简化了代码并提升了性能,使得编码更高效,增强了C#的表达能力。示例代码展示了如何实现这些新特性,突出其实际应用和优势。
突破Excel百万数据导出瓶颈:全链路优化实战指南

https://www.cnblogs.com/xiongze520/p/18866690
在工作中,Excel数据导出是一项常见需求。大数据量时,内存和性能问题会影响导出效率。文章讨论了三种C#高性能Excel导出方案:EPPlus、MiniExcel和NPOI,比较了处理模型、内存占用和支持的文件格式等。针对不同场景,推荐使用MiniExcel进行简单数据导出,EPPlus进行复杂格式报表,NPOI兼容旧版Excel。性能测试显示MiniExcel在写入时间和内存占用方面表现最佳,并提供了核心代码实现以优化导出过程。
.NET + AI | Semantic Kernel vs Microsoft.Extensions.AI

https://www.cnblogs.com/sheng-jie/p/18863626/semantic-kernel-vs-microsoft-extensions-ai
Microsoft.Extensions.AI 为 .NET 应用架构提供统一的 AI 接口,简化了 AI 模型的集成。它通过标准接口(如 IChatClient 和 IEmbeddingGenerator),使开发者能够无缝调用多种 AI 服务。此库嵌入依赖注入和中间件管道,允许灵活配置和扩展。开发者可使用熟悉的日志和配置系统,轻松管理 AI 服务。在实现上,Microsoft.Extensions.AI 不直接提供 AI 功能,而是通过不同扩展包支持多种服务提供商,如 OpenAI 和本地模型。最终,Microsoft.Extensions.AI 促进了 AI 功能的标准化和可插拔性,增强了开发的灵活性。
线程安全集合 --- Concurrent

https://www.cnblogs.com/pandefu/p/18864569
本文探讨了C#中的System.Collections.Concurrent下的BlockingCollection及其他并发集合实现生产者-消费者模式。首先介绍BlockingCollection、ConcurrentBag等类的功能与用途,强调它们的线程安全性。接着,详细叙述了IProducerConsumerCollection接口的主要方法,并提供了一个自定义线程安全随机取元素集合的代码示例。整体内容丰富,涵盖了该库的基本用法和实际操作,为开发者提供了实用的参考。
Linux系列:如何用perf跟踪.NET程序的mmap泄露

https://www.cnblogs.com/huangxincheng/p/18863987
本文探讨了如何跟踪.NET程序中的mmap内存泄露问题,作者分享了自己的研究成果和实践经验。通过C语言调用mmap分配内存,作者提供了详细的代码示例,并展示了如何将其编译为共享库,以便在C#中调用。文章内容深入浅出,涵盖了技术细节和实践步骤,适合对内存管理有兴趣的开发者。该文章具有较强的实践性和可操作性,能够帮助读者理解和解决类似的问题。
c#开发完整的Socks5代理客户端与服务端——客户端(已完结)

https://www.cnblogs.com/qwqwQAQ/p/18867762
本文介绍如何在Windows上创建一个代理本机流量的客户端,并与之前开发的Socks5服务端对接。通过C#程序设置手动代理,修改注册表实现本机HTTP流量劫持。详细描述了代理服务器地址和端口的设置方法,以及黑名单配置。该文提供了具体的代码实现,确保功能正确,并方便用户进行网络流量管理。
【译】Visual Studio Hub 介绍

https://www.cnblogs.com/MeteorSeed/p/18864220
Visual Studio Hub 是一个集中获取 Visual Studio 更新和资源的平台。它为用户提供最新功能、GitHub Copilot 资源、关键学习机会和开发人员博客。这一平台让用户可以方便地找到与 Visual Studio 相关的重要信息,并与社区和工程团队互动。Visual Studio Hub 旨在成为开发者获取相关内容的首选资源,未来将不断更新与改进。用户可以通过网站链接访问 Visual Studio Hub。
c# 批量注入示例代码

https://www.cnblogs.com/wwwan/p/18868271
这篇文章介绍了如何使用自定义属性和反射批量注册服务到依赖注入容器中。它定义了一个 ServiceTypeAttribute 属性,用于标记服务生命周期。扩展方法 RegisterServices 首先获取当前程序集中所有类,并筛选出符合命名规则的服务类。接着,它查找对应的接口,并根据 ServiceTypeAttribute 注册服务。文章具有较好的技术深度和实践性,但在表达上有一定的复杂度。同时,内容较新,涉及的技术在 .NET 生态中仍然具有实际应用价值。总的而言,虽然引用部分略显不足,但提供的代码示例和思路清晰。整体评分为 85。
C#实现ModbusTCP从站(三)

https://www.cnblogs.com/whojie/p/18864069
本文通过C#的Socket类实现了ModbusTCP从站的功能,详细介绍了线圈和寄存器的数据缓存机制。文章包括从站如何响应主站请求的处理逻辑,提供了功能码的处理细节,支持多客户端连接及定时读取功能,且运行环境为Windows 11和.NET Framework 4.8.0。代码示例展示了基本的连接、读取和写入方法,帮助开发者理解和实现ModbusTCP通信。
使用C#构建一个同时问多个LLM并总结的小工具

https://www.cnblogs.com/mingupupu/p/18866486
本文探讨了在AI编程时代如何利用多个AI工具得到可行方案,以避免时间浪费。通过设计一个用户控制界面,用户可以输入问题并请求多个AI生成的方案。作者建议收集出现频率最高的三个方案,并使用Cursor或Cline等编程工具实现。这种方法虽需消耗API Token,但效率高。文章强调了利用AI工具的实用性以及设计实现方案的简单性。
.NET 原生驾驭 AI 新基建实战系列(六):Pinecone ── 托管向量数据库的向量数据库的云原生先锋

https://www.cnblogs.com/code-daily/p/18860998
本文介绍了Pinecone,一种云原生托管的向量数据库,提供高效的存储和查询高维向量数据的能力。在人工智能和机器学习应用中,Pinecone通过先进的相似性搜索技术解决了传统数据库的性能瓶颈。其特点包括高性能、易用性、托管服务和可扩展性,支持多种距离度量。文章还深入探讨了Pinecone的向量索引、相似性搜索和云原生架构等核心原理,展示了其在Semantic Kernel中的集成与使用方法,强调其在智能应用开发中的重要性。
.net core workflow流程定义

https://www.cnblogs.com/wikeflow/p/18868313
本文介绍了WikeFlow工作流的流程定义及其应用。流程定义包括唯一的Key值和业务路径,便于在创建实例时准确找到流程。工作流执行中,通过反射实例化业务类,并调用IWorkFlowService接口实现方法。文章详细阐述了如何关联业务程序集和业务类名,要求业务类实现增删改查等操作及IWorkFlowService接口。这使得业务系统能与WikeFlow2系统交互。示例中说明了请假申请的业务实现,以及相关的状态管理和标记处理。总体上,内容涵盖了工作流的关键实现细节。
如何使用 websocket 完成 socks5 网络穿透

https://www.cnblogs.com/fs7744/p/18863856
这篇文章介绍了网络穿透的实现方式,特别是通过WebSocket与Socks5代理的结合。作者展示了一段代码,说明如何将Socks5请求转换为WebSocket链接。文章详细解释了每个步骤的逻辑,包括过滤路由和初始化代理。尽管代码和原理简单易懂,但缺少关于实际应用场景的深入探讨。整体上,文章清晰且实用,适合对网络穿透技术感兴趣的读者。
如何反向绘制出 .NET程序 异步方法调用栈

https://www.cnblogs.com/huangxincheng/p/18871528
文章讨论了分析异步方法调用栈的问题,尤其是在 .NET Framework 4.8 中缺乏 !dumpasync 命令的情况下。通过创建一个简单的三层架构示例,文章展示了如何实现异步数据库查询并处理可能的异常。案例中包含了从数据库获取客户数据的具体代码,强调了异步编程的实用性和重要性。这种背景和案例分析有助于理解异步调用的复杂性及其调试方法。
如何搭建基于surging的分布式直播流媒体

https://www.cnblogs.com/fanliang11/p/18860510
本文介绍了基于.NET6.0的Surging微服务引擎和分布式RTMP直播服务的搭建与优化。文章详细描述了系统的内存和CPU稳定性测试结果,以及如何利用链路跟踪功能提高开发效率。此外,提供了直播流媒体的配置和下载方式,包括视频文件和推流脚本。文章列出了多协议适配的能力及物联网平台的特点。整体信息清晰,有实用价值,适合开发者使用。
类刺客信条跑酷系统开发日记

https://www.cnblogs.com/eanojiang/p/18870080
本文讲述了在Unity中开发类刺客信条的跑酷摄像机控制系统的过程。首先介绍了摄像机在3D空间中的位置与旋转,通过Quaternion.Euler实现水平旋转,并利用鼠标控制角度。接着,进行了垂直旋转的实现,且设置了角度限制以确保视角合理。本文详细解释了摄像机如何根据目标位置与用户输入动态调整,从而提升游戏的交互性与沉浸感。
莫想到有一天得重新写个 etcd client

https://www.cnblogs.com/fs7744/p/18869624
本文讲述了作者重写etcd客户端的过程,并分析了现有客户端的缺陷。虽然已有客户端可用,但存在watch功能失效的问题,且作者在检查源代码后发现核心处理代码被删除,导致无法监听变更。作者决定自己实现新的etcd grpc客户端,并通过最新的.proto文件生成相关代码。文中同时提供了简单的使用文档和安装方法,旨在解决etcd的功能缺失以及异常处理问题。
主题

.NET 和 .NET Framework 2025 年 5 月服务版本更新 - .NET 博客

https://devblogs.microsoft.com/dotnet/dotnet-and-dotnet-framework-may-2025-servicing-updates/

  • Microsoft 安全顾问 CVE-2025-26646:.NET 欺骗漏洞 · 问题 #11846 · dotnet/msbuild

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册