首页
C&C++
C#语言
Java
Python
人工智能
Web前端
数据库
面试笔记
其它
软件推荐
搜索
5 个破坏真实系统的 .NET 异步和线程假设
5 个破坏真实系统的 .NET 异步和线程假设它们编译,它们测试,但它们仍然失败108收听分享更多CodeToDeploy一份技术人员学习、构建和成长的出版物。关注以加入我们超过 50 万的月度读者群体medium.com6,500 多门技术课程。提升您的技能 — 免费开始!6,500 多门技术课程...
2-1 20:46
286
CancellationToken 实战:让长任务可取消、可超时、可联动
CancellationToken 不是“高级用法”,而是 .NET 长任务稳定性的基础:支持用户取消、超时控制、服务优雅停机。本文用几个最常见场景讲清楚如何正确传递、组合与触发取消。
2-1 10:29
291
依赖注入生命周期:Singleton / Scoped / Transient 一次讲透
ASP.NET Core 的依赖注入有三种常用生命周期:Singleton、Scoped、Transient。选错会引发线程安全问题、内存泄漏或跨请求共享数据。本文用一套直觉化规则讲清楚怎么选。
2-1 10:28
289
HttpClient 正确姿势:为什么不要 new HttpClient() 到处用?
HttpClient 用错最常见的坑不是“慢”,而是 Socket 耗尽、DNS 变更不生效。本文解释原因,并给出 HttpClientFactory / Typed Client 的推荐用法。
2-1 10:25
274
EF Core 跟踪 vs AsNoTracking:什么时候查询能快一倍?
EF Core 默认会跟踪实体,方便更新,但读多写少的查询会付出不必要的开销。本文讲清楚 Tracking/AsNoTracking 的差异、适用场景,以及几个常见误区。
2-1 10:24
310
IAsyncEnumerable:用 await foreach 写出更省内存的流式处理
当你需要从数据库/HTTP/队列“边拿边处理”时,IAsyncEnumerable + await foreach 能让程序更省内存、更快看到第一条结果,并天然支持取消。本文给出常见模式与坑点。
2-1 10:21
259
async/await 不是免费午餐:避免死锁与线程池拥堵的 5 个习惯
很多 async/await 性能/稳定性问题不是“异步不好用”,而是用法不当:阻塞等待、无意义 Task.Run、丢失 CancellationToken、吞异常等。本文用 5 条工程化习惯,帮你写出更稳的异步代码。
2-1 10:20
288
.NET 为什么只有 string.IsNullOrEmpty?——便利与语义边界
为什么 .NET 只提供 string.IsNullOrEmpty 而不泛化到集合/任意类型?核心原因是:一旦“空”的语义不再唯一,框架就不该替你做决定。正确做法是在你的领域里定义明确规则(强类型扩展方法或策略函数)。原文链接见文末。
2-1 10:14
270
🚀 让 AI 为你打工!一份让工作流自动化的学习教程
最近花了点时间研究了一下Semantic Kernel,打磨了一份从零开始学习 AI 工作流自动化的完整教程。今天正式发布,限时优惠价 30 元。💡 为什么要学这个?你是不是经常遇到这样的场景:📋 处理订单:验证信息 → 检查库存 → 扣减库存 → 发邮件通知📊 审批流程:提...
10-7 11:17
1622
.NET开发必知的5个隐藏技巧:依赖注入与运行时控制的进阶指南
如果你已经编写.NET应用程序有一段时间了,可能会觉得自己“已经掌握了依赖注入(DI)”,或者认为运行时开关是永远不会用到的冷门功能。我曾经也这么想……直到我遇到了各种bug、深夜系统中断,以及看起来像睡眠不足的浣熊写的测试代码。这5个技巧只有经过多年实际.NET...
9-29 15:7
260
1
2
3
4
5
6
7
8
9
10
…
>
>>
阅读排行
深入WPF数据绑定:Converter...
5825
C#异步定时器:精准定期执行...
5943
WPF应用中融入ASP.NET Core...
5051
在C# .NET 8中使用MediatR实...
4928
精准数字处理:C#中四舍五入...
4834
.NET Core 中集成Dapper高级...
4419
延迟等待的艺术:C#中Task.D...
4367
串口通信利器:RJCP.DLL.Ser...
4426
.NET 性能分析:.NET 8 中的...
4244
轻松上传:C#中HTTP POST mu...
4462
WPF中轻松生成动态图表:实...
4212
C# 中的并发性:使用 Blocki...
4083
C#中轻松实现二维码和条形码...
4015
C#屏幕截图:轻松捕获活动窗...
4099
深入了解SOAPCore:在.NET 6...
4074
MediatR让进程内通信如此简...
5086
在 .NET8 中通过 RabbitMQ实...
3858
Microsoft.Extensions.Loggi...
3782
ASP.NET 后端开发:全面的路...
3726
C#串口通讯实战:基础功能及...
3836
WPF中轻松操控GIF动画:WpfA...
3808
ASP .NET Core 8+ 中的全局...
3655
.net中OpenCVSharp+Zxing读...
3766
解决WPF界面卡死等待问题:...
4824
解密C#中允许HttpClient使用...
3579
C#文件编码检测:轻松解析文...
3577
实现WPF多语言支持:简单灵...
3676
.NET —ToList 和 ToArray ...
3551
使用OpenXML在.NET 6中导出E...
3659
C#中Task.Run怎么用?能解决...
3653
.NET 9中ToList 和 ToArray ...
3526
WPF神器揭秘:一键截图,轻...
3506
在 ASP.NET Core Web API 中...
3499
还在到处加异常日志记录?试...
3601
掌握System.Text.Json中的多...
3591
.NET 中的 UUID 和 ULID:最...
3461
掌握ImageSharp:图像处理的...
3566
打造真实感十足的速度表盘:...
3564
轻松实现.NET应用自动更新:...
3559
深入理解WPF中的Dispatcher...
3530
ASP.NET Core .NET 8 中间件...
3371
C# 中的弱事件 — 如何避免...
3275
C# .NET 8中的自动映射器Aut...
3222
ZLogger v2 架构:利用 .NET...
3173
FluentFTP实战:轻松操控FTP...
3218
WPF魔法:轻松实现依赖注入...
4304
解密C# Socket通信:克服粘...
3191
WPF开发新境界:MVVM设计模...
3187
WPF大展示专业指南:轻松实...
3233
C# Socket通信:灵活传输DTO...
3010