我使用Unity DI进行了更大的项目。现在,需要更改DI容器层次结构顶部的长期存在实例之一,以进行异步初始化。
仅在干净的流程中,需要运行的异步方法无法使用难看的“一劳永逸”方法工作。
如果我创建了一个异步或惰性初始化方法,则需要从多个地方调用它以确保其运行一次-这不是最优雅的方法。
我能用Unity(最新)做任何事情来触发异步初始化方法吗?
我知道之前已经有人问过这个问题,但是由于该类在DI层次结构中的位置,比常规的短寿命类丑陋。
public class SomeContext
{
public SomeContext()
{
}
public async Task InitAsync()
{
await NeedsToRunAsync();
}
}