C# CancellationToken:优雅取消耗时操作
用户点了"取消"、请求超时了、程序要关闭了——这些场景都需要中途停止正在进行的异步操作。C# 的标准做法就是 CancellationToken:请求取消、检查取消、响应取消。基本三件套// 1.
C# AI开发 篇102:流式回答的中断与续答
上一篇我们把首字延迟压到了毫秒级,用户终于"看到字"了。但流式还有个绕不开的问题:正在吐字的时候,用户关掉了页面、手机切了后台、网络抖了两秒、服务重启了,这段回答怎么办?最常见也最糟糕的做法是:把上游流"原样中继"给浏览器——连接一断,已经生成的内容就全丢了。
C# CancellationToken 取消令牌:工业上位机任务终止指南
在工业上位机开发中,我们经常需要处理长时间运行的任务:数据采集、图像处理、通信轮询等。当用户切换画面、关闭窗体或取消操作时,这些任务需要优雅地停止,否则会导致资源泄漏或未定义行为。CancellationToken 是 .NET 提供的标准取消机制,帮助你实现这一点。
C# AI开发 篇124:影子模式灰度对比,新模型上线,先让它跑一遍
新模型在评测集上准确率高了 5 个点,你敢直接全量切换吗?很多团队的答案是"敢",然后在一周内收获一批从没见过的新幻觉。这篇讲影子模式(Shadow Mode):线上真实流量同时喂给新旧两个版本,旧版照常返回给用户,新版只记录、不生效,跑几天用数据决定是否放量。
PLC没停稳,窗口先关了?WPF上位机异步退出拦截的最佳实践
前言在工控上位机开发中,软件的“退出”逻辑往往比“启动”更重要。很多开发者都遇到过这种尴尬:用户随手点了个关闭(X),窗口瞬间消失,但此时: 通讯未断开:PLC 还在等待上位机的握手响应,导致设备报通讯故障。
C# 用命名管道做进程间通信:让两个程序在本机说上话
一个常驻的 Windows 服务,加一个命令行客户端;或者桌面程序要控制后台服务——这类需求本质上是“两个进程在本机交换数据”。很多人第一反应是开个 TCP 端口,其实本机通信首选命名管道(Named Pipe):不占端口、有权限控制、速度接近内存拷贝。
C# 重构实战:消除魔法数字与散落的字符串
代码里到处是 0.9、30、"paid"、"CNY":同一个会员折扣抄了四遍,同一个状态有三种大小写,同一个 30 在一处是"天"、一处是"秒"。这篇先把这些值分成三类,再分别用枚举、常量和配置处理——注意,不是所有数字都该提成常量。
在 .Net Core 中使用 CancellationToken 的最佳做法
在本文中,我们将了解CancellationToken(取消令牌)以及如何使用它。在过去,当我们执行一些耗时的操作,比如耗时的数据库调用、耗时的HTTP调用时,我们没办法取消这些操作。
C#被忘的CancellationToken——没有超时控制的异步终成僵尸任务
上一篇我们聊了“假异步”带来的性能浪费。有读者问:“我的异步方法都加了CancellationToken,应该没问题了吧?”我反问:你的CancellationToken真的传到底了吗?你的Task.Delay有超时吗?你的HttpClient调用有取消机制吗?他沉默了。