Problem statement
Async packages that proffer services through their (synchronous) service providers result in the package not loading asynchronously even when that service is queried for using QueryServiceAsync.
Proposed solution
All services from an AsyncPackage should be proffered with the IsAsyncQueryable flag and registered with a Task-returning service factory (even if the factory itself is implemented synchronously) to ensure the package is loaded asynchronously.
Problem statement
Async packages that proffer services through their (synchronous) service providers result in the package not loading asynchronously even when that service is queried for using
QueryServiceAsync.Proposed solution
All services from an
AsyncPackageshould be proffered with theIsAsyncQueryableflag and registered with a Task-returning service factory (even if the factory itself is implemented synchronously) to ensure the package is loaded asynchronously.