Suppress CA2007 ConfigureAwait warning in ASP.NET Core

Choosing between ConfureAwait(true) and ConfureAwait(false) should be considered when developing UI threaded application. In web project it is not relevant and can be ignored.

CA2007 is one of many warnings we get when applying code analytics on the web or web API app.

The topic relates to almost every available call in the projects, offering explicitly configure awaiter. Awaiter can be configured in two ways in short:

  • ConfigureAwait(true) - default option, same as without configuration. The main thread (UI thread) will wait until available method completion.
  • ConfigureAwait(false) - The method completion will be handled by a thread pool and UI thread will not wait for its completion avoiding deadlocks on UI.

How it affects web projects?

It doesn't: in a web project, there is no UI thread, thus its completely normal to work with the default option.

How can I get rid of ton CA2007 warnings?

I use .editorconfig file for Analyzer rule definition. I think it is the simplest way comparing to GlobalSuppression.cs file or inline suppression

For adding a new .editorconfig file in visual studio press Ctrl+Shift+A to open a new file dialog. Find .editorconfig in the list.

And then in the file add following:

[*.cs]
dotnet_diagnostic.CA2007.severity = none

Facing a similar decision?

Tell me what you're working on. We'll start from the problem, not a service package.

Discuss your challenge