Мне нужно загрузить некоторые глобальные переменные из базы данных, например
- меню на динамическую страницу будут поступать из базы данных - контактная информация также будет поступать из базы данных - и некоторые другие ...
в данный момент я получаюэто в конструкторе всех контроллеров как
public class HomeController : Controller
{
private ApplicationDbContext db = new ApplicationDbContext();
public HomeController()
{
if (ViewBag.Pages== null)
{
ViewBag.Pages= db.Pages.Where(s => s.status == 1).OrderBy(s => s.sort).ToList();
}
if (ViewBag.Contents == null)
{
ViewBag.Contents = db.Contents.Where(s => s.status == 1).OrderBy(s => s.group).ThenBy(s => s.sort).ToList();
}
}//constructor ends here
}//controller class ends here
тот же конструктор, что и у меня почти для всех других контроллеров.
все работает нормально, но TTFB слишком велик (максимум до 30 секунд)
Существует ли какой-то оптимизированный способ извлечения этих значений по умолчанию из базы данных один раз без кэширования в течение какого-либо фиксированного периода времени.
Я думаю, смогу ли я загрузить это на уровне приложения, чтобы иметь доступ ко всем контроллерам и представлениям.