Sesja a ViewState
ViewState i sesja to dwa rozwiązania problemów w aplikacjach internetowych. Problem polega na tym, że użytkownik komputera uzyskuje dostęp do strony internetowej w określonym czasie. Po pewnym czasie użytkowania lub po zamknięciu aplikacji przez użytkownika informacje i dostęp do strony internetowej są usuwane z ostatnich dzienników użytkowania.
ViewState jest ważny tylko podczas postbacków i dotyczy wyłącznie danych zserializowanych. ViewState to przede wszystkim obiekt / architektura, która umożliwia kontrolkom internetowym zachowanie ich wartości między postbackami. Podobnie jak sesja, ViewState może działać i być dostępny dla serwera.
Informacje w ViewState są przechowywane dla klienta tylko jako zaszyfrowana wartość w ukrytych polach przeglądarki. To sprawia, że dane są niezabezpieczone i mogą podlegać włamaniom. Podczas postbacków ViewState śledzi zmiany w określonej witrynie.
ViewState zachowuje również wartość kontroli dla konkretnej strony. Oznacza to, że dane na stronie nie są i nie mogą być dostępne, dostępne ani replikowane na innej stronie. ViewState jest utrzymywane na poziomie strony lub bieżącej, aktywnej strony. Nie ma on terminu ważności i można włączyć lub wyłączyć w ViewState dla określonych elementów sterujących.
ViewState można zobaczyć podczas przeglądania kodu źródłowego strony, który trwa do momentu zamknięcia strony. ViewState jest najczęściej używany do przechowywania niewielkiej ilości danych (zwykle ciąg i inne dane serializowane) na bieżącej stronie. Ponadto ViewState zużywa więcej przepustowości w porównaniu do sesji, ale mniej pamięci i miejsca w pamięci. ViewState nie wymaga zbyt dużej pamięci, ponieważ wszystkie dane są tracone w momencie zamknięcia strony.
Tymczasem sesja jest częściej używana na stronach internetowych i wpływa nie tylko na stronę, ale na całą aplikację i cały czas trwania użytkownika korzystającego z tej konkretnej przeglądarki lub strony. Sesja jest ważna dla każdego rodzaju obiektów i jest przechowywana w pamięci serwera przeglądarki. Dane, które przechowuje, to dane użytkownika komputera lub, innymi słowy, dane specyficzne dla użytkownika. Dane są dostępne, dopóki użytkownik nie zamknie aplikacji przeglądarki lub sesja wygaśnie sama.
W przeciwieństwie do ViewState, dane w sesji mogą być dostępne lub replikowane do innego okna lub strony w sesji. Sesje również nie mają możliwości wyłączenia lub włączenia określonych elementów sterujących. Sesja obejmuje także różne rodzaje danych, które mają być przechowywane w jej pojemniku pamięci. Sesja ma również większą pamięć w porównaniu do ViewState, ponieważ wykorzystuje pamięć serwera. Minusem tego jest to, że sesja wygasa, a ilość danych przechowywanych w pamięci serwera może wpływać na obciążenie serwera czasu.
Streszczenie:
1. Oprócz ViewState i sesji inne rozwiązania ASP.NET obejmują zmienne aplikacji, pamięć podręczną i pliki cookie. 2. ViewState i sesja mogą być uruchamiane i dostępne w środowisku serwerowym.
3.ViewState jest używany po stronie klienta, podczas gdy sesja jest używana po stronie serwera. Będąc po stronie klienta sprawia, że ViewState nie wygasa. Przeciwnie (po wygaśnięciu i po stronie serwera) dotyczy sesji.
4.ViewState może przechowywać tylko ciąg lub dane szeregowalne, podczas gdy sesja może przechowywać dane o dużej ilości. To sprawia, że ilość danych w ViewState jest znacznie mniejsza w porównaniu do sesji.
5.Sesja może replikować dane lub uzyskiwać dostęp do nowej strony lub okna, gdy ViewState nie obsługuje tej funkcji.
6.Sesja przechowuje dane w pamięci serwera, podczas gdy ViewState ukrywa swoje dane w ukrytych polach przeglądarki jako dane zaszyfrowane. 7. Ponieważ pamięć serwera zawiera różne rodzaje danych, duża ilość przechowywanych danych może wpływać na obciążenie serwera.