Я столкнулся с проблемой: у нас есть проект веб-API ASP.NET Core 2.2 с EF Core 2.2.Мы используем платформу IOC по умолчанию для создания DbContext
с продолжительностью действия.И у нас есть конвейер сокетов, подключенный к нашей службе веб-API ASP.NET.
Я обнаружил, что когда мы изменяем данные в веб-интерфейсе, конвейер сокетов всегда будет получать старый результат (мы используем .FirstOrDefault()
для извлечения данных не должно быть проблем с кэшем первого уровня).
Итак, я могу сделать вывод, что это может быть связано с тем, что время жизни области действия для DbContext
, поэтому я изменил ее на временное время жизни.,И это работает!Мы получаем измененную запись.
У меня есть два вопроса:
- Это поведение
DbContext
по замыслу? Или, возможно, у меня есть какая-то хитрая проблема в моем коде. - Сколько производительности будет стоить переходный срок службы
DbContext
стоимость? Поскольку, возможно, я сделаю каждый DbContext
переходный процесс