审计一个服务的 async/await 正确性
何时使用: 你接手了一个间歇性死锁的服务,怀疑是 async 问题。
步骤
-
扫描dotnet-skills 对 src/ 执行 async 审计,标记:库代码中缺少 ConfigureAwait(false)、.Result/.Wait 调用、async void(非事件)、缺少 CancellationToken 传播。✓ 已复制→ 具体的 file:line 列表,附严重性
-
修复一批选出最高严重性的问题集群(死锁风险)。逐文件提出修复方案,展示 diff。✓ 已复制→ 外科式补丁,不是整文件重写
结果: async 卫生度提升;一个间歇性死锁根源消除。
注意事项
- ConfigureAwait 修复破坏了 UI 线程代码 — skill 区分库代码和应用代码;遵守这条边界
搭配使用: filesystem