У меня есть сайт на основе MVC, который использует шаблон репозитория/службы для доступа к данным. Сервисы записываются для использования в большинстве приложений (консоли, winform и web). В настоящее время контроллеры напрямую взаимодействуют с услугами. Это ограничило возможность применения надлежащего кэширования.
Я вижу следующие параметры:
- Напишите оболочку для веб-приложения, которое реализует IWhatEverService, который выполняет кеширование.
- Применить кеширование в каждом контроллере путем кэширования ViewData для каждого действия.
- Не беспокойтесь о кэшировании данных и просто реализуйте OutputCaching для каждого действия.
Я вижу плюсы и минусы каждого. Что лучше всего подходит для кэширования с помощью репозитория/службы