Фоновое обновление статистики падает с ObjectDisposedException
[HttpPost]
public IActionResult Create(OrderDto dto)
{
var order = _service.Create(dto);
_ = Task.Run(() => _stats.RecalculateAsync(order.CustomerId)); // использует _db
return Ok(order);
}
_stats и _db зарегистрированы как scoped. Пересчёт иногда проходит, а иногда падает с Cannot access a disposed context instance. Почему?
- Область запроса и DbContext освобождаются после ответа
- Task.Run запрещено вызывать в контроллерах
- DbContext нельзя использовать в асинхронных методах
- Статистика пересчитывается дважды одновременно
