.Net 5 - Asp.Net 仍然没有 SynchronizationContext?

.Net 5 - Asp.Net still has no SynchronizationContext?

我想知道基于 .Net 5 的 ASP.Net 应用程序是否仍然没有 SynchronizationContexts as mentioned here 所以我可以继续不写 ConfigureAwait(false) 或者我应该开始到处撒?

不,ASP.NET 不再有同步上下文,并且 不太可能不经过一场激烈的战斗就重新获得同步上下文。您可以通过测试 SynchronizationContext.Current 是否有值来自己验证这一点。

就是说,如果您正在编写应用程序级代码,如果 同步上下文,您可能不应该抑制它;只有库代码通常应该抑制同步上下文,并且库代码可能 不对主机环境做出假设 ,意思是:在库代码中,如果你可能应该手动添加 ConfigureAwait(false)不想要同步上下文。