关于[使用异步操作时的注意要点(翻译)]的摘要:
异步操作时应注意的要点 使用异步方法返回值应避免使用void 对于预计算或者简单计算的函数建议使用Task.FromResult代替Task.Run 避免使用Task.Run()方法执行长时间堵塞线程的工作 避免使用Task.Result和Task.Wait()来堵塞线程 建议使用await来代替continueWith任务 创建TaskCompletionSource 建议使用CancellationTokenSource(s)进行超时管理时总是释放(dispose) 建议将协作式取消对象(CancellationToken)传递给所有使用到的API 建议取消那些不会自动取消的操作(CancellationTokenRegistry,timer) 使用StreamWriter(s)或Stream(s)时在Dispose之前建议先调用FlushAsync 建议使用 async/await而不是直接返回Task 使用场景 使用定时器回调函数 创建回调函数参数时注意避免 async void 使用ConcurrentDictionary.GetOrAdd注意场景 构造函数对于异步的问题