【问题标题】:ConfigureAwait(false) in .Net Core application.Net Core 应用程序中的 ConfigureAwait(false)
【发布时间】:2020-06-26 10:44:41
【问题描述】:

我正在使用 .Net Core 创建一个 cron 作业,该作业将从 API 获取数据并将数据插入数据库。 异步调用api时是否应该使用ConfigureAwait(false)?

看完文章我很困惑-ConfigureAwait(false) relevant in ASP.NET Core?

由于我的控制台应用不是 UI 应用,所以请建议是否应该使用 ConfigureAwait(false)

【问题讨论】:

  • ASP.NET Core 没有AspNetSynchronizationContext(或任何SynchronizationContext)。由于不再有上下文,因此不再需要 ConfigureAwait(false)
  • 但我读到,ConfigureAwait (false) 提高了性能。我拥有异步调用 Api 的 .Net 核心控制台应用程序
  • 如果你的 API 没有同步,你可以使用 ConfigureAwait(false) 它不会停止其他正在运行的任务。
  • Api 有异步方法,所以我是否需要在 Api 调用中使用 ConfigureAwait(false) ?
  • 是的,你可以使用它。

标签: asynchronous .net-core async-await configureawait


【解决方案1】:

这个问题的更多信息为什么你不应该在.net核心中使用它: configureawaitfalse-relevant-in-asp-net-core

【讨论】:

  • 这是我在问题中引用的同一篇文章。这让我感到困惑。
  • 哦,对不起,我读错了你的帖子。究竟是什么让你感到困惑,同步上下文的目的?也从 Stephen 那里查看这个解释为什么使用 configure await make sens with UI link
  • API调用时是否需要添加ConfigureAwait(false)?
  • 您不需要添加它,这适用于例如控制台应用程序的 .net 框架/核心。
  • 你是什么意思 - 这适用于控制台应用程序的 .net 框架/核心?
猜你喜欢
  • 2017-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-18
  • 1970-01-01
相关资源
最近更新 更多