Asynchronous .net core 3.1中的ConfigureWait警告
我正在ASP NET Core 3.1预览版中开发一个服务器,现在我看到在调用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调用
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)
可能很有用,所以不要急于禁用警告。