Как кэшировать некоторые объекты во время запроса в.Net
Мы работаем над проектом, который разработан с использованием технологии ASP.net MVC и основан на многоуровневой архитектуре; Кроме того, мы используем ADO.Net для извлечения данных с помощью процедур хранилища SQL и создания объектных моделей на уровне "DataAccess" (я знаю, что это старая технология для извлечения данных, но мы не смогли перейти на EF или другие ORM).
мы решили кешировать некоторые объектно-кешируемые модели объектов, которые унаследовали интерфейс Icacheable, но мы не хотим кешировать объекты вечно (до тех пор, пока приложение не будет работать); на самом деле, нам просто нужно кэшировать их во время запроса и после этого утилизировать кэшированные объекты.
Здесь есть два вопроса?
1) какой слой лучше использовать для кеширования? Репозиторий или DataAccess(или, возможно, другие слои!)?
2) как мы могли это сделать?