与 ASP.NET 核心相关的配置等待(假) ?

我在 GitHub 上偶然发现了一个问题(https://github.com/HTBox/allReady/issues/1313) ,他们讨论了在 ASP.NET 核心中将 ConfigureAwait(false)从代码中去掉的问题

ConfigureAwait(false)的呼叫是多余的,什么也不做

我在这里能找到的最好的答案是一个“边注”(来自 Stephen Cleary,https://stackoverflow.com/a/40220190/2805831) ,告诉这一点

NET 核心不再有“上下文”

因此,ConfigureAwait(false)ASP.NET 核心中真的是不必要的吗(即使使用完全。网络架构) ?在某些情况下,它在性能方面是否有任何实际收益,或者在结果/语义方面是否存在差异?

编辑: 如果我把它作为一个控制台应用或 IIS 托管,在这方面有什么不同吗?

60761 次浏览

ConfigureAwait只对在 SynchronizationContext上下文中运行的代码有影响,而 ASP.NET Core 没有(ASP.NET“ Legacy”有)。

通用代码仍然应该使用它,因为它可能使用 SynchronizationContext运行。

NET 核心同步上下文

配置等待常见问题