У меня есть фоновое обслуживание , которое мне нужно для запуска каждые 4 часа. У меня сложилось впечатление, что он запустит только один экземпляр. Недавно я заметил некоторые дублируемые данные и поворачивается, что мой фоновый запускает несколько экземпляров, и каждый экземпляр, по-видимому, изолирован, например, не может обмениваться информацией о состоянии.
Код: Выделить всё
services.AddHostedService();
// Example of the background service:
public class MyBackgroundTask : BackgroundService
{
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
await Task.Yield();
while (!stoppingToken.IsCancellationRequested)
{
try
{
// do some calculations
await Task.Delay(TimeSpan.FromHours(4), stoppingToken);
}
catch (Exception e)
{
continue;
}
}
}
}
Я попытался добавить его в качестве синглтона, но, похоже, он не выполняется при нагрузке, какой -нибудь совет о том, что я должен попробовать?
Подробнее здесь:
https://stackoverflow.com/questions/686 ... undservice