Sesja i ViewState

Anonim

Session vs 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.

Wartość ViewState jest poprawna tylko w przypadku ogłaszania zwrotnego i ma zastosowanie tylko do danych zserializowanych. ViewState to przede wszystkim obiekt / architektura, która umożliwia kontrolom Web utrzymanie wartości między post-backami. Podobnie jak sesja, ViewState może działać i być dostępny dla serwera. Informacje w obiekcie ViewState są przechowywane dla klienta tylko jako zakodowana wartość w ukrytych polach przeglądarki. To sprawia, że ​​dane są niezabezpieczone i mogą zostać poddane hakowaniu. Podczas wysyłania zwrotnego ViewState śledzi zmiany w konkretnej witrynie.

Funkcja ViewState zachowuje także wartość kontroli dla danej strony. Oznacza to, że dane na stronie nie są i nie mogą być dostępne, dostępne ani replikowane na innej stronie. Wartość ViewState jest utrzymywana na poziomie strony lub bieżącej, uruchomionej stronie. Nie ma punktu wygaśnięcia i można go włączyć lub wyłączyć w obiekcie ViewState dla określonych formantów.

ViewState można zobaczyć podczas przeglądania kodu źródłowego strony, która trwa aż do zamknięcia strony. Funkcja ViewState służy głównie do przechowywania niewielkiej ilości danych (zwykle ciągów i innych danych zserializowanych) 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. Funkcja ViewState nie zajmuje zbyt wiele pamięci, ponieważ wszystkie dane są tracone od momentu 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 danej przeglądarki lub strony. Sesja jest ważna dla dowolnego typu 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 w innym oknie lub na stronie w ramach sesji. Sesje nie mają również możliwości wyłączenia lub włączenia określonych kontroli. Sesja obejmuje również różne rodzaje danych, które mają być przechowywane w jej gnieździe pamięci. Sesja ma również większą pamięć w porównaniu do ViewState, ponieważ wykorzystuje pamięć serwera. Minusem tego jest to, że sesja ma czas wygaśnięcia, a ilość danych przechowywanych w pamięci serwera może wpłynąć na obciążenie serwera czasu.

Streszczenie:

1. Oprócz ViewState i sesji, inne rozwiązania ASP.NET zawierają zmienne aplikacji, pamięć podręczną i pliki cookie. 2.Sytuacja ViewState i sesja mogą działać i być dostępne w środowisku serwera. 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 ma wygaśnięcia. Odwrotnie (po wygaśnięciu i byciu po stronie serwera) jest sesja. 4.ViewState może przechowywać tylko ciąg lub dane szeregowalne, podczas gdy sesja może pomieścić dużą liczbę typów danych. To sprawia, że ​​ilość danych w ViewState jest znacznie mniejsza w porównaniu do sesji. 5.Session może replikować lub uzyskiwać dostęp do danych do nowej strony lub okna, podczas gdy parametr ViewState nie obsługuje tej funkcji. 6.Session przechowuje dane w pamięci serwera, a ViewState ukrywa swoje dane w ukrytych polach przeglądarki jako zaszyfrowane dane. 7. Ponieważ pamięć serwera zawiera różne rodzaje danych, duża ilość przechowywanych danych może wpłynąć na obciążenie serwera.