Asynchronous .net core 3.1中的ConfigureWait警告

Asynchronous .net core 3.1中的ConfigureWait警告,asynchronous,warnings,.net-core-3.0,configureawait,.net-core-3.1,Asynchronous,Warnings,.net Core 3.0,Configureawait,.net Core 3.1,我正在ASP NET Core 3.1预览版中开发一个服务器,现在我看到在调用await时,对于我所有的async方法,我得到CA2007警告(就像某些任务异步运行时一样) 在.NET Core 3.1中,async await的工作方式是否有任何我不知道的重大变化,因此我应该使用ConfigureAwait p.S如果没有更改,是否有任何方法可以停止用绿色突出显示所有我未使用的configureawait。但是,在ASP.NET Core中(从一开始?),您不需要从ASP.NET Core调用

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

在.NET Core 3.1中,async await的工作方式是否有任何我不知道的重大变化,因此我应该使用
ConfigureAwait


p.S如果没有更改,是否有任何方法可以停止用绿色突出显示所有我未使用的
configureawait
。但是,在ASP.NET Core中(从一开始?),您不需要从ASP.NET Core调用
ConfigureAwait(false)
。见:斯蒂芬·克利里

要停止警告,我将其放入我的
GlobalSuppressions.cs

使用System.Diagnostics.CodeAnalysis;
[程序集:SuppressMessage(“设计”,“RCS1090:调用'ConfigureWait(false)'”,
justionment=“ASP.NET Core没有SynchronizationContext。https://blog.stephencleary.com/2017/03/aspnetcore-synchronization-context.html", 
Scope=“namespaceandDescents”,
Target=“YourProjectNamespace.Controllers”)]

注意
Target=“YourProjectNamespace.Controllers”
。我试图具体说明我在哪里抑制了警告。由于我无法控制从何处调用库代码,我希望确保库仍然调用
ConfigureAwait(false)
。但是在ASP.NET Core Controller中,我不需要这样做,因此禁止操作。

没有任何更改,CA2007只是一个分析器警告,您可以在项目、文件或语句级别禁用它。不过,在库代码中使用
ConfigureAwait(false)
可能很有用,所以不要急于禁用警告。