Jaka jest różnica między SessionState i ViewState?


Odpowiedzi:


143

Stan sesji zawiera informacje dotyczące określonej sesji (określonego klienta / przeglądarki / komputera) z serwerem. Jest to sposób na śledzenie tego, co użytkownik robi w witrynie… na wielu stronach … pośród bezpaństwowości sieci. np. zawartość koszyka konkretnego użytkownika to dane sesji. Pliki cookie mogą być używane do określania stanu sesji. Z drugiej strony
View State to informacje specyficzne dla określonej strony internetowej. Jest przechowywany w ukrytym polu, dzięki czemu nie jest widoczny dla użytkownika. Służy do utrzymania złudzenia użytkownika, że ​​strona pamięta to, co zrobił na niej ostatnim razem - nie dawaj mu czystej strony za każdym razem, gdy odsyła. Sprawdź tę stronę, aby uzyskać więcej informacji .


96

Stan sesji jest zapisywany na serwerze, a ViewState na stronie.

Stan sesji jest zwykle usuwany po okresie bezczynności użytkownika (nie wystąpiło żadne żądanie zawierające identyfikator sesji w żądaniu plików cookie).

Stan widoku jest publikowany w kolejnym wpisie z powrotem w ukrytym polu.


30
+1 Tak - ważny punkt, że ViewState przemieszcza się w górę iw dół między klientem a serwerem, ale SessionState pozostaje na serwerze.
Gordon Mackie JoanMiro

1
To powinna być oficjalna odpowiedź
Fandango68

33

SessionState

  • Może być utrwalony w pamięci, co czyni go szybkim rozwiązaniem. Co oznacza, że ​​stan nie może być udostępniany w farmie internetowej / ogrodzie sieciowym.
  • Może być utrwalony w bazie danych, przydatny w farmach internetowych / ogrodach internetowych.
  • Czyści się, gdy sesja kończy się - zwykle po 20 minutach bezczynności.

ViewState

  • Jest przesyłany tam iz powrotem między serwerem a klientem, zajmując przepustowość.
  • Nie ma daty ważności.
  • Jest przydatny w farmie sieciowej / ogrodzie sieciowym

14

Użycie: Jeśli zamierzasz przechowywać informacje, do których chcesz uzyskać dostęp na różnych stronach internetowych, możesz użyć SessionState

Jeśli chcesz przechowywać informacje, do których chcesz uzyskać dostęp z tej samej strony, możesz użyć Viewstate

Przechowywanie Stan widoku jest przechowywany na samej stronie (w postaci zaszyfrowanego tekstu), podczas gdy stan sesji jest przechowywany na serwerze.

SessionState zostanie wyczyszczone w następujących warunkach

  1. Oczyszczone przez programistę
  2. Wyczyszczone przez użytkownika
  3. Koniec czasu

5
ViewStates nie są szyfrowane. Po prostu wyglądają w ten sposób, ale można je łatwo rozszyfrować.
Vandel212,

5

Sesja służy głównie do przechowywania danych dotyczących użytkownika [danych sesji]. W przypadku sesji możesz używać wartości przez całą sesję do czasu wygaśnięcia sesji lub rezygnacji z niej przez użytkownika. Stan widoku to typ danych, który ma zakres tylko na stronie, na której jest używany. Nie możesz udostępniać wartości stanu widoku na innych stronach, chyba że przeniesiesz te wartości na żądaną stronę. Również w przypadku stanu widoku wszystkie dane kontroli po stronie serwera są przesyłane do serwera jako para klucz-wartość w __Viewstate i przesyłane z powrotem i renderowane do odpowiedniego elementu sterującego w kliencie, gdy następuje ogłaszanie zwrotne.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.