Added IAsyncInitialization to host startup

This commit is contained in:
TheXamlGuy
2024-09-29 22:15:31 +01:00
parent 9f00bac1dd
commit 6c7a6e9cf5
4 changed files with 31 additions and 12 deletions
+10 -5
View File
@@ -2,19 +2,24 @@
namespace Toolkit.Foundation;
public class AppService(IEnumerable<IInitialization> initializers,
public class AppService(IEnumerable<IInitialization> initializations,
IEnumerable<IAsyncInitialization> asyncInitializations,
IPublisher publisher) :
IHostedService
{
public Task StartAsync(CancellationToken cancellationToken)
public async Task StartAsync(CancellationToken cancellationToken)
{
foreach (IInitialization initializer in initializers)
foreach (IInitialization initialization in initializations)
{
initializer.Initialize();
initialization.Initialize();
}
foreach (IAsyncInitialization initialization in asyncInitializations)
{
await initialization.Initialize();
}
publisher.Publish<StartedEventArgs>();
return Task.CompletedTask;
}
public Task StopAsync(CancellationToken cancellationToken) => Task.CompletedTask;