Skip to content
No description, website, or topics provided.
C# ASP
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
AsyncContextClassic
AsyncContextCore
AsyncContextNetFramework
AsyncContextNetStandard
.gitattributes
.gitignore
AsyncContext.sln
LICENSE
README.md

README.md

ASP.NET SynchronizationContext Example

Blog Post

ASP.NET Classic & Core Web API (running full framework)

Referencing a .NET 4.7.2 async library

Api Call Description Deadlock Classic? Deadlock Core?
api/values normal call
api/values/framework/async async/await
api/values/framework/sync?configAwait=false synchronous blocking
api/values/framework/sync?configAwait=true synchronous blocking ✔️

Referencing a .NET Standard async library

Api Call Description Deadlock Classic? Deadlock Core?
api/values normal call
api/values/standard/async async/await
api/values/standard/sync?configAwait=false synchronous blocking
api/values/standard/sync?configAwait=true synchronous blocking ✔️

Simply, ConfigureAwait(false) is not required in an ASP.NET Core application (regardless of whether it's running with the full framework or core). This is because the SynchronizationContext is not determined by the runtime!

You can’t perform that action at this time.