У меня есть кластер кластера Azure с микросервисами .NET core 2.2.Указанные службы используют ядро EF для связи с базами данных SQL Azure.Кроме того, матричный кластер находится за балансировщиком нагрузки.
Контекст базы данных имеет ограниченный срок службы и внедряется в контроллеры с помощью внедрения зависимостей.
Все работает хорошо, когда сервисы последовательно запрашиваютсятот же клиент, поскольку балансировщик нагрузки гарантирует, что в течение как минимум 4 минут один и тот же пользователь будет отправлен в один и тот же экземпляр службы.Однако, когда подсистема балансировки нагрузки решает отправить пользователя в другой экземпляр, контекст базы данных создается снова (поскольку срок действия ограничен, это означает, что контекст создается для каждого нового веб-запроса).К сожалению, процесс построения модели занимает довольно много времени, и по этой причине первый запрос всегда намного медленнее, чем последующие (для одного и того же веб-запроса).
Вопросы будут, возможно ли как-то кешироватьмодель EF Core, чтобы ее не приходилось перестраивать каждый раз, когда возникает описанная выше ситуация?
Я имею в виду процедуру, аналогичную EF - когда файл .edmx
создается один раз и загружается всоздание контекста.