private static async Task <Container> GetContainerAsync() { if (_container != null) { return(_container); } using (await AsyncLock.LockAsync()) { var container = DependencyInjectionInitializer.Initialize(); var startupTasks = container.GetAllInstances <IRunAtStartup>(); foreach (var task in startupTasks) { await task.RunAsync(); } _container = container; } return(_container); }