2012-05-07 19 views
9

Mam zapisane ciągi w pamięci sieciowej (sesja i/lub lokalne) i zastanawiam się, czy możliwe jest sprawdzenie takich zapisanych ciągów na stronie ładowania lub init na serwerze (asp.net C# w moim przypadku) ... Więc, na przykład, będę wiedział, aby nie pobierać ponownie danych z db i używać tego, co jest już rezydentne w przeglądarce od ostatniego wczytania strony.Dostęp do przechowywania stron internetowych po stronie serwera - możliwe?

+0

Czy plik cookie działa dla Ciebie, czy potrzebujesz przechowywać większą ilość danych? – Zachary

+0

Czy wartości są przechowywane w pamięci lokalnej lub po stronie serwera? –

Odpowiedz

13

Nie, to niemożliwe. sessionStorage mieszka na kliencie. Jeśli chcesz uzyskać do niego dostęp na serwerze, będziesz musiał napisać javascript, który odczytuje wartość, umieszcza ją w ukrytym polu, aby została wysłana na serwer. Lub javascript, który odczyta wartość z pamięci i przekierowuje do serwera przekazując ją jako parametr ciągu zapytania. Nie ma absolutnie żadnego sposobu, aby serwer miał bezpośredni dostęp do tego magazynu. To jedna z wad sesji sessionStorage vs cookies.

+0

Hmmm ma sens, chociaż twój pomysł na ukryte pole rozwiązałby mój konkretny problem. Dzięki! – brnwdrng

+0

Nie można po prostu sprawdzić, czy wartość istnieje w sesji na stronie "Page_Load' i pobrać z DB, jeśli nie? –

+2

Sesja po stronie serwera nie ma nic wspólnego z pamięcią lokalną. –

Powiązane problemy