Dot-Net

與 ASP.NET Core 相關的 ConfigureAwait(false)?

  • February 5, 2017

我在 GitHub 上偶然發現了一個問題 ( <https://github.com/HTBox/allReady/issues/1313> ),他們在其中討論瞭如何在ASP.NET CoreConfigureAwait(false)中刪除程式碼

呼叫ConfigureAwait(false)是多餘的,什麼都不做

我能在這裡找到的最好的是答案中的“旁注”(來自 Stephen Cleary,https: //stackoverflow.com/a/40220190/2805831 )告訴

ASP.NET Core 不再有“上下文”

那麼,在ASP.NET CoreConfigureAwait(false)中真的沒必要(即使使用完整的 .Net Framework)?在某些情況下,它在性能上是否有任何真正的提升或結果/語義上的差異?

**編輯:**如果我將它作為控制台應用程序或在 IIS 中託管,在這方面有什麼不同嗎?

ConfigureAwait僅對在SynchronizationContextASP.NET Core 沒有的上下文中執行的程式碼有影響(ASP.NET“舊版”有)。

通用程式碼仍應使用它,因為它可能以SynchronizationContext.

ASP.NET Core SynchronizationContext

引用自:https://stackoverflow.com/questions/42053135