-
Notifications
You must be signed in to change notification settings - Fork 0
Async Construct
Kengwang edited this page Jan 29, 2024
·
1 revision
If you have to do some async work during construct, you can implement IAsyncConstruct
interface to let Depository know.
public class AsyncConstructorService : IAsyncConstructService
{
// You can do some async work here
public async Task InitializeService()
{
await Task.Delay(1000);
}
}
Depository will invoke InitializeService
after construct.
You can resolve Task<T>
so that you can await the async construct.
var service = await depository.Resolve<Task<IAsyncConstructService>>();
You can also resolve IAsyncConstructService
directly, Depository will invoke InitializeService
as a fire-and-forget.
var service = depository.Resolve<IAsyncConstructService>();
Warning
If you use fire-and-forget way, the async constructor will be invoked after the resolve method returns.