This package enables Visual Studio 2012 projects to use the new 'async' and 'await' keywords. This package also includes Task-based extension methods that allow using some of the existing asynchronous APIs with the new language keywords. Windows Phone Silverlight 8 projects can use this package to...
Introduces IAsyncEnumerable, IAsyncEnumerator, ForEachAsync(), and ParallelForEachAsync()
Helps to (a) create an element provider, where producing an element can take a lot of time
due to dependency on other asynchronous events (e.g....
The Execution Context Scoping package adds the 'Execution Context Scope' lifestyle, which allows instances to live within an explicitly defined execution context scope (or logical call context) and get disposed when this scope ends. This scope allows flowing through asynchronous method calls.
When using dependency injection and async-await pattern it is possible to end up with an interface with a method that returns a Task. If this interface method is used in a synchronous method there is a likelihood that it will erroneously be run as a fire and forget method. In this situation this...
AsyncFixer helps developers in finding and correcting common async/await misuses (i.e., anti-patterns). It currently detects 5 common kinds of async/await misuses and fixes 3 of them via program transformations. AsyncFixer has been tested with thousands of open-source C# projects and successfully...
Enable using the new Value Tuple structure to write elegant code that allows async methods to be fired in parallel despite having different return types
var (result1, result2) = await (GetStringAsync(), GetGuidAsync());
Based on the work of Joseph Musser https://github.com/jnm2
Stop copying and pasting code in order to support Async/Await! Shaolinq.AsyncRewriter generates async methods from your sync methods using Roslyn.
AsyncRewriter is used extensively by the Shaolinq ORM/LINQ project.