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...
Task Extensions for System.Threading.Tasks
Includes extension methods to safely fire-and-forget a Task and/or a ValueTask
Includes WeakEventManger which avoids memory leaks when events are not unsubscribed
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
Enable using the new Value Tuple structure to write elegant code that allows async methods to be fired in parallel despite having different return...
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.
Async Extensions for ICommand
Includes AsyncCommand and IAsyncCommand which allows ICommand to safely be used asynchronously with Task.
Includes AsyncValueCommand and IAsyncValueCommand which allows ICommand to safely be used asynchronously with ValueTask