У меня есть фоновое обслуживание , которое мне нужно для запуска каждые 4 часа. У меня сложилось впечатление, что он запустит только один экземпляр. Недавно я заметил некоторые дубликаты данных и поворачивает, что My FounalService использует несколько экземпляров, и каждый экземпляр, кажется, изолирован, например, не может обмениваться информацией о состоянии.
Код: Выделить всё
services.AddHostedService();
< /code>
Пример фоновой службы: < /p>
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