随笔分类 -  .NET Core+

1 2 3 4 5 6 下一页
.NET Core+
用 Microsoft Agent Framework 构建 SubAgent(Multi-Agent)
摘要:本文演示如何用 Microsoft Agent Framework 用 Executor + Workflow(DAG)模式实现 SubAgent(子代理)架构。通过示例代码(来自项目的 txt)展示并发 Fan‑Out/Fan‑In 的实现、消息路由与聚合策略,最后讨论最佳实践与权衡。 假定读者等 阅读全文
posted @ 2026-03-26 09:03 chester·chen 阅读(221) 评论(0) 推荐(3)
Microsoft Agent Framework Skills 执行 Scripts(实战指南)
摘要:在 Microsoft Agent Framework 中,Agent Skills 是一个非常重要但容易被忽略的能力。它可以让你的 Agent 拥有“插件化能力”,甚至可以执行本地脚本(如 Python),实现真正的自动化。 本文结合完整示例,带你从 原理 → 结构 → 实战 → 坑点 全面掌握如 阅读全文
posted @ 2026-03-24 09:00 chester·chen 阅读(366) 评论(2) 推荐(1)
让 AI 代理拥有"专业技能包":Microsoft Agent Skills
摘要:本文介绍如何使用Agent Skills为Microsoft代理框架中的代理提供可重用的领域专业技能包。通过.NET和Python内置技能提供者,代理可以在运行时动态加载所需技能,增强其能力而无需修改核心指令。 Introduction to Agent Skills 您现在可以在Microsoft 阅读全文
posted @ 2026-03-23 08:24 chester·chen 阅读(427) 评论(0) 推荐(1)
使用Microsoft Agent Framework构建C# AI代理
摘要:本文介绍如何使用Microsoft Agent Framework在C#中构建生产级AI代理,涵盖环境设置、内存管理、工具及多代理工作流。本框架旨在替代AutoGen和Semantic Kernel,提供更好的上下文管理和代理协调。 What Is Microsoft Agent Framework 阅读全文
posted @ 2026-03-22 08:54 chester·chen 阅读(465) 评论(2) 推荐(1)
从 .NET Core1.0 到 .NET 10:.NET + C# 演进全景
摘要:本文回顾微软 .NET 与 C# 语言从跨平台起步到统一平台、再到现代化性能优化的全过程。每个版本都配有简明 Demo 代码,便于开发者快速掌握特性变化与实践。 一、.NET Core 时代:跨平台的开端 1. .NET Core 1.x(C# 7.0) 发布时间:.NET Core 1.0 于 2 阅读全文
posted @ 2025-11-14 09:25 chester·chen 阅读(5891) 评论(8) 推荐(36)
WinDbg 分析 .NET Dump 线程锁问题
摘要:在定位 .NET 应用程序中的高 CPU 占用问题时,WinDbg 是非常强大的工具之一,尤其配合 SOS 扩展使用可以快速锁定“忙线程”或死锁等问题。 本文将基于一次实际的分析流程,演示如何一步步定位由线程锁引起的 CPU 高占用。 1. 加载 SOS 扩展(针对 .NET) 首先,我们需要加载 阅读全文
posted @ 2025-05-24 11:56 chester·chen 阅读(784) 评论(0) 推荐(4)
dotnet-trace 分析.net程序性能
摘要:在现代 .NET 开发中,性能分析和故障诊断是确保应用程序稳定性和高效性的关键步骤。 本文将介绍如何使用 dotnet-trace 工具进行 .NET Core 应用的性能跟踪,并结合 PerfView 和 Speedscope 等可视化工具,深入理解应用的运行状况。 一、dotnet-trace 阅读全文
posted @ 2025-05-17 14:24 chester·chen 阅读(1106) 评论(0) 推荐(6)
非容器环境中使用Selenium,提升Chrome与ChromeDiver兼容性
摘要:背景 在 Windows 环境下使用 Selenium 时,Chrome 浏览器版本与 ChromeDriver 版本的兼容性问题是一个常见的困扰。 由于 Chrome 频繁更新,而 ChromeDriver 需要与特定版本的 Chrome 精确匹配,导致 Selenium 代码可能会因版本不匹配而 阅读全文
posted @ 2025-03-07 10:04 chester·chen 阅读(982) 评论(0) 推荐(3)
.NET中 泛型 + 依赖注入 的实现与应用
摘要:在.NET中,注入泛型依赖项是一个常见的场景。 在依赖注入(DI)中使用泛型可以使得应用程序更加模块化、易于测试和扩展。 在ASP.NET Core中注册泛型服务 假设我们有一个需要注入的泛型接口 IRepository<T> 和实现类 Repository<T>。 public interface 阅读全文
posted @ 2025-02-14 10:09 chester·chen 阅读(1948) 评论(1) 推荐(2)
.NET最佳实践:业务逻辑减少使用异常
摘要:在 .NET 开发中,异常处理是保证应用健壮性的重要手段,但不应被滥用。 异常的引发和捕获相较于普通的代码逻辑性能较差,因此在热路径(频繁执行的代码路径)中,避免依赖异常来控制程序流是提升性能的关键之一。 为什么要减少异常的使用? 性能开销大:异常处理机制涉及堆栈回溯和额外的系统调用,可能显著影响性 阅读全文
posted @ 2025-02-13 09:51 chester·chen 阅读(1511) 评论(0) 推荐(6)
.NET最佳实践:避免同步读取HttpRequest
摘要:为什么要避免同步读取 ASP.NET Core 中的所有 I/O 操作都是异步的。服务器实现了 Stream 接口,该接口同时具备同步和异步的方法。 在进行 I/O 操作时,应优先使用异步方法,以避免阻塞线程池的线程。 如果阻塞了线程池线程,可能会导致服务器无法处理更多请求,造成急剧性性能下降。 尤 阅读全文
posted @ 2025-02-10 09:26 chester·chen 阅读(1502) 评论(2) 推荐(8)
.NET最佳实践:避免滥用Task.Run
摘要:在 C# 中,Task.Run 是用来在后台线程中执行异步任务的一个常见方法。 它非常适用于需要并行处理的场景,但如果不加以谨慎使用,可能会导致额外的线程池调度,进而影响程序的性能。 什么是线程池? 线程池是 .NET 中的一种优化机制,它通过复用固定数量的线程来减少线程创建和销毁的开销。 线程池中 阅读全文
posted @ 2025-02-09 09:06 chester·chen 阅读(2552) 评论(9) 推荐(7)
.NET最佳实践:webapi返回IAsyncEnumerable提升性能
摘要:什么是IAsyncEnumerable IAsyncEnumerable<T> 是 .NET 中用于表示异步数据流的接口。 它允许你逐个异步地获取数据项,而不是将所有数据一次性加载到内存中。这样可以减少内存占用,尤其在处理大量数据时更加高效。 与 IEnumerable<T> 不同,IEnumera 阅读全文
posted @ 2025-02-08 11:56 chester·chen 阅读(1512) 评论(2) 推荐(4)
.NET中优雅使用Patch: JsonPatch
摘要:引言 在现代 Web API 开发中,我们经常需要对资源进行部分更新(Partial Update)。传统的 PUT 请求会要求发送整个对象,而 PATCH 请求可以仅发送需要更新的字段。ASP.NET Core 提供了 JsonPatchDocument<T> 来简化这一操作。 什么是 JsonP 阅读全文
posted @ 2025-02-06 09:06 chester·chen 阅读(1153) 评论(2) 推荐(0)
.NET 中 Logger 常被忽视的方法 BeginScope
摘要:BeginScope 方法是 .NET 中 ILogger 接口的一部分,用于创建日志记录的作用域(Scope)。这种作用域可以将特定的上下文信息包含在日志中,从而提高日志的可读性和调试效率。 配置日志包含作用域信息 首先,需要在日志配置中启用包含作用域信息。以 appsettings.json 为 阅读全文
posted @ 2025-01-21 09:11 chester·chen 阅读(1237) 评论(1) 推荐(5)
AsyncLocal的妙用
摘要:AsyncLocal<T>是一个在.NET中用来在同步任务和异步任务中保持全局变量的工具类。 它允许你在不同线程的同一个对象中保留一个特定值,这样你可以在不同的函数和任务中访问这个值。 这是在实现异步任务中维持一致性和优雅性的一种重要手段。 用法 创建一个AsyncLocal实例: 你可以使用Asy 阅读全文
posted @ 2025-01-10 15:24 chester·chen 阅读(1187) 评论(2) 推荐(9)
在 .NET 中使用 Tesseract 识别图片文字
摘要:1. 什么是 Tesseract Tesseract 是一个强大的字符识别 (OCR) 工具。它最初由 HP 发布,现在由 Google 和学术社区共同维护和开发。 Tesseract 支持多种语言和格式,能够高效地识别图片中的文字。 2. 如何安装 Tesseract 要在 .NET 项目中使用 阅读全文
posted @ 2025-01-08 08:46 chester·chen 阅读(3391) 评论(6) 推荐(19)
Scoop: 开发者多环境管理利器
摘要:Scoop是什么? Scoop 是一个基于 Windows 的包管理器,能够帮助开发者高效管理开发环境和应用程序。 它推荐通过命令行进行包的安装、更新和卸载,同时提供了简单易用的包组织方式,透明化了安装和管理的过程。 与传统的 Windows 应用安装比较,Scoop 允许用户使用命令行将应用安装到 阅读全文
posted @ 2024-12-27 08:09 chester·chen 阅读(1830) 评论(0) 推荐(5)
.NET 9 增强 OpenAPI 规范,不再内置swagger
摘要:在 .NET 9 的更新中,微软增强了原生 OpenAPI。这一变化表明 .NET 正在更加拥抱开放标准,同时让开发者体验更加轻松高效。本文将探讨为何进行这一更改、OpenAPI 的优势,以及如何在 .NET 9 中使用 OpenAPI。 为什么不再内置 Swagger? 1. 标准化的需求 Swa 阅读全文
posted @ 2024-12-25 09:21 chester·chen 阅读(3820) 评论(8) 推荐(5)
.NET 9 中的 多级缓存 HybridCache
摘要:HybridCache是什么 在 .NET 9 中,Microsoft 将 HybridCache 带入了框架体系。 HybridCache 是一种新的缓存模型,设计用于封装本地缓存和分布式缓存,使用者无需担心选择缓存类型,从而优化性能和维护效率。 实际上,HybridCache 基于 IDistr 阅读全文
posted @ 2024-12-24 10:35 chester·chen 阅读(2252) 评论(6) 推荐(11)

1 2 3 4 5 6 下一页