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

Leo*_*rdo 6 c# asp.net .net-5

我想知道基于 .Net 5 的 ASP.Net 应用程序是否仍然没有这里提到的SynchronizationContexts 所以我可以继续不写ConfigureAwait(false)还是应该开始把它洒满?

Mar*_*ell 5

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

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