asynchronous - .net core 3.1 中的 ConfigureAwait 警告

标签 asynchronous warnings .net-core-3.0 configureawait .net-core-3.1

我正在 ASP NET Core 3.1 预览版中开发服务器,现在我看到了我所有的 async调用时的方法 await我得到 CA2007警告(就像某些任务异步运行时一样)。

.NET Core 3.1 中异步等待的工作方式是否有任何我不知道的重大变化,因此我应该使用 ConfigureAwait ?

P.S 如果没有变化,有没有办法让它停止突出显示所有 await的绿色,我没有使用 configureawait ?

最佳答案

您在问题中指定了 ASP.NET Core 3.1,但没有指定您来自哪个版本。但是,在 ASP.NET Core 中(从一开始?)你不需要调用 ConfigureAwait(false)来自 ASP.NET 核心。见:ASP.NET Core SynchronizationContext通过斯蒂芬克利里。
为了停止警告,我把它放在我的 GlobalSuppressions.cs 中:

using System.Diagnostics.CodeAnalysis;

[assembly: SuppressMessage("Design", "RCS1090:Call 'ConfigureAwait(false)'.", 
  Justification = "ASP.NET Core doesn't have a SynchronizationContext. https://blog.stephencleary.com/2017/03/aspnetcore-synchronization-context.html", 
  Scope = "NamespaceAndDescendants", 
  Target = "YourProjectNamespace.Controllers")]
请注意 Target = "YourProjectNamespace.Controllers" .我试图具体说明我在哪里抑制警告。由于我无法控制从哪里调用我的库代码,我想确保我的库仍然调用 ConfigureAwait(false) .但是在 ASP.NET Core Controller 中我不需要,因此抑制。

关于asynchronous - .net core 3.1 中的 ConfigureAwait 警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58801212/

相关文章:

javascript - Async.js - 并行真的是并行的吗?

c++ - 如何摆脱 - 来自 NULL 的 "warning: converting to non-pointer type ' 字符”?

php - "Notice: Undefined variable"、 "Notice: Undefined index"、 "Warning: Undefined array key"和 "Notice: Undefined offset"使用 PHP

c# - 当将特定类转换为其他类时,JsonSerializer 的行为不符合预期

c++ - 为什么在asio的示例中,tcp接受器模式使用shared_pointer模型包装堆套接字,而udp使用堆栈套接字?

python - 循环与异步定时器

java - Log42 异步记录器在应用程序突然关闭时如何表现?

c++ - 符号转换发生在哪里?

c# - 将 C# 对象转换为 IOpenApiAny

service-worker - 如何在.net core 3中将启动类添加到工作服务模板