It’s probably bit overdue, but I finally implemented checking for
ConfigureAwait(false) in my ConfigureAwaitChecker for
await using and
await foreach. Why now? I simply (finally) needed it. So, what’s new?
It’s pretty straightforward. If you have an object implementing
IAsyncEnumerable<T> and using
await using or
await foreach you can/should use
ConfigureAwait(false) in these, similarly to when using
One remaining piece missing (tracked here) is properly extracting variable out of
await using when applying the code fix, because the datatype is different after adding
ConfigureAwait(false) and probably the insides of the
using block will not work. I originally blogged about it here. This will be in next update.
Also, with this release I’m releasing the ConfigureAwaitChecker library that the analyzer is using as a NuGet package. In case you’d like to build some awesome stuff on top of it.