【发布时间】:2021-10-12 00:19:02
【问题描述】:
我的服务器代码中有很多异步方法,但我怀疑我有没有等待的调用者。
有没有一种简单的方法来扫描代码以查找缺少 await 的调用?
public async Task DomeSomethingAsync()
{
var result = await GetResult();
await StoreResult(result);
}
然后我忘了在某个地方使用等待;
public async Task SomeBuggyCode()
{
await Initialize();
DoSomethingAsync(); // DOH - Forgot await
}
我希望有一种聪明的方法来识别这些错误的调用。
【问题讨论】:
-
@Frode:Roslyn 是不是特别需要?或找到它们的任何合理方法都可以吗?如果您不需要 Roslyn,请将其从问题中删除,这样可以清楚地表明 Charles 的回答很好
-
很高兴知道。当长时间使用 resharper 时,你开始搞乱它做了什么,什么没有:)
标签: c# .net asynchronous async-await roslyn-code-analysis