Я разработал BackgroundService, вначале он работает нормально. Но позже, через 20 минут, это отменяется по какой-то причине, которую я не знаю. В частности, в этом случае «задание» должно быть бесконечным и никогда не заканчиваться. Пожалуйста, не могли бы вы дать некоторое представление? я буду признателен
public class CheckItemsService : BackgroundService
{
private IConfiguration Configuration { get; }
public CheckItemsService(IConfiguration configuration)
{
Configuration = configuration;
}
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
stoppingToken.Register(() => Log.Information("Job is stopping"));
while (!stoppingToken.IsCancellationRequested)
{
await UpdateItems();
await Task.Delay(1000 * 60, stoppingToken);
}
}
private async Task UpdateItems()
{
var optionsBuilder = new DbContextOptionsBuilder<WalletContext>();
optionsBuilder.UseSqlServer(Configuration.GetSection("ConnectionStrings:Default").Value);
DbContext _context = new DbContext(optionsBuilder.Options);
var items = await _context.EntityX.ToListAsync();
foreach (var item in items)
{
item.ModificationDate = DateTime.Now;
}
try
{
await _context.SaveChangesAsync();
}
catch (DbUpdateException dbEx)
{
Log.Information(dbEx.Message);
}
}
}
StopAsync(CancellationToken)
, переопределите этот метод и запишите его в журнал, если это так. Если это так, это означает, что хост отключается по какой-то причине. - person Scott Chamberlain   schedule 18.08.2019