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