W której warstwie powinienem mieć implementacje mechanizmów sesji i cache?

Czy właściwym jest korzystanie z httpcontext w serwisie, jeśli nie to jak wlasciwie zaimplementować koszyk sklepu aby trzymać treść w sesji?