Buforowanie obiektów danych podczas korzystania z repozytorium / wzorca usługi i MVC

Mam witrynę opartą na MVC, która wykorzystuje wzór repozytorium / usługi do dostępu do danych. Usługi są napisane tak, aby mogły być używane w większości aplikacji (konsola, WinForm i Internet). Obecnie kontrolerzy komunikują się bezpośrednio z usługami. Ograniczyło to możliwość stosowania właściwego buforowania.

Widzę moje opcje w następujący sposób:

Napisz opakowanie dla aplikacji internetowej, która implementuje usługę IWhatEverService, która wykonuje buforowanie.Zastosuj buforowanie w każdym kontrolerze przez buforowanie ViewData dla każdej akcji.Nie martw się o buforowanie danych i po prostu zaimplementuj OutputCaching dla każdej akcji.

Widzę zalety i wady każdego z nich. Co to jest / powinna być najlepsza praktyka dla buforowania za pomocą repozytorium / usługi

questionAnswers(4)

yourAnswerToTheQuestion