У меня есть приложение для консоли .net 4.7.2, которое использует Generic Host .net и имеет 2 фоновых служб. Один из них (зависимый) должен начать свою работу только после того, как другой (база) завершил свою инициализацию (которая может занять несколько секунд). < /P>
На данный момент у меня есть следующий код: < /p>
У меня есть приложение для консоли .net 4.7.2, которое использует Generic Host .net и имеет 2 фоновых служб. Один из них (зависимый) должен начать свою работу только после того, как другой (база) завершил свою инициализацию (которая может занять несколько секунд). < /P> На данный момент у меня есть следующий код: < /p> [code]internal class BaseBackgroundService : BackgroundService { internal bool Initialized;
while (!baseBackgroundService.Initialized) { await Task.Delay(100, stoppingToken); Console.WriteLine("Waiting for BaseBackgroundService to initialize"); }
while (!stoppingToken.IsCancellationRequested) { Console.WriteLine("Message from DependantBackgroundService"); await Task.Delay(TimeSpan.FromSeconds(1), stoppingToken); } } }
host.Run(); } [/code] Но конструкция для получения Basebackgroundservice выглядит слишком сложной. Но это также выглядит как избыток для такой простой цели.>