Hej, szukam optymalnego rozwiązania dla przechowywania niewrażliwych user related
danych dla użytkownika aplikacji ASP.NET Core, typu dane wyszukiwania oraz liczniki kliknięć.
Po zapoznaniu się z dokumentacją najciekawsze się wydają:
-
Session state
, -
TempData
, - może jakieś inne?
Do tych danych będę potrzebował dostępu w filtrach akcji, z tym nie przewiduję problemów dla obu rozwiązań. Nie wiem jeszcze (najpóźniej jutro poszukam) które sposoby pozwalają na wywołanie metody na koniec sesji, kiedy użytkownik wyłączy witrynę, w celu np zapisu do DB. Choć założę się, że ASP.NET Core posiada jakiś mechanizm który odpala event na koniec sesji, przynajmniej ja bym tak to wymyślił ;p (też się zabiorę za szukanie niebawem).
Ważę za i przeciw obu rozwiązań. Wydaje mi się, że TempData
wygrywa, bo jest przechowywane w backend, a Session
state to ciasteczka. Pewnie też przez to wypada lepiej wydajnościowo. Choć z drugiej strony Session
state nie obciąża ramu serwera (hostuję na bieda-serwerze), tylko przeglądarkę. Co Wy o tym sądzicie?