【译】ConfigureAwait FAQ
原文中文,约20800字,阅读约需50分钟。发表于: 。.NET 在数年前就在语言和库中添加了 async/await。在那段时间里,它像野火一样蔓延开来,不仅在 .NET 生态系统中,而且在无数其他语言和框架中被复制。在 .NET 中也看到了大量的改进,包括利用异步的额外语言构造、提供异步支持的 API 以及在基础设施中实现 async/await (特别是在 .NET Core 中性能和诊断支持方面的改进)。然而,async/awa...
本文介绍了.NET中的async/await和ConfigureAwait方法,以及与之相关的SynchronizationContext和TaskScheduler。使用ConfigureAwait(false)可以避免死锁和提高性能,但不能保证回调不会在原始上下文中运行。在某些情况下,可以只在方法中第一个await处使用。使用Task.Run也可以避免使用ConfigureAwait(false)。本文还回答了一些关于ConfigureAwait的常见问题。