.NET最佳实践:避免滥用Task.Run
摘要:在 C# 中,Task.Run 是用来在后台线程中执行异步任务的一个常见方法。 它非常适用于需要并行处理的场景,但如果不加以谨慎使用,可能会导致额外的线程池调度,进而影响程序的性能。 什么是线程池? 线程池是 .NET 中的一种优化机制,它通过复用固定数量的线程来减少线程创建和销毁的开销。 线程池中
阅读全文
posted @
2025-02-09 09:06
chester·chen
阅读(845)
推荐(5) 编辑
.NET最佳实践:避免同步读取HttpRequest
摘要:为什么要避免同步读取 ASP.NET Core 中的所有 I/O 操作都是异步的。服务器实现了 Stream 接口,该接口同时具备同步和异步的方法。 在进行 I/O 操作时,应优先使用异步方法,以避免阻塞线程池的线程。 如果阻塞了线程池线程,可能会导致服务器无法处理更多请求,造成急剧性性能下降。 尤
阅读全文
posted @
2025-02-10 09:26
chester·chen
阅读(692)
推荐(6) 编辑
.NET最佳实践:业务逻辑减少使用异常
摘要:在 .NET 开发中,异常处理是保证应用健壮性的重要手段,但不应被滥用。 异常的引发和捕获相较于普通的代码逻辑性能较差,因此在热路径(频繁执行的代码路径)中,避免依赖异常来控制程序流是提升性能的关键之一。 为什么要减少异常的使用? 性能开销大:异常处理机制涉及堆栈回溯和额外的系统调用,可能显著影响性
阅读全文
posted @
2025-02-13 09:51
chester·chen
阅读(553)
推荐(5) 编辑
.NET中 泛型 + 依赖注入 的实现与应用
摘要:在.NET中,注入泛型依赖项是一个常见的场景。 在依赖注入(DI)中使用泛型可以使得应用程序更加模块化、易于测试和扩展。 在ASP.NET Core中注册泛型服务 假设我们有一个需要注入的泛型接口 IRepository<T> 和实现类 Repository<T>。 public interface
阅读全文
posted @
2025-02-14 10:09
chester·chen
阅读(301)
推荐(1) 编辑